{
  "contractName": "Realitio_v2_1",
  "abi": [
    {
      "constant": false,
      "inputs": [],
      "name": "withdraw",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "template_hashes",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "question_claims",
      "outputs": [
        {
          "name": "payee",
          "type": "address"
        },
        {
          "name": "last_bond",
          "type": "uint256"
        },
        {
          "name": "queued_funds",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "arbitrator_question_fees",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "commitments",
      "outputs": [
        {
          "name": "reveal_ts",
          "type": "uint32"
        },
        {
          "name": "is_revealed",
          "type": "bool"
        },
        {
          "name": "revealed_answer",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "questions",
      "outputs": [
        {
          "name": "content_hash",
          "type": "bytes32"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "opening_ts",
          "type": "uint32"
        },
        {
          "name": "timeout",
          "type": "uint32"
        },
        {
          "name": "finalize_ts",
          "type": "uint32"
        },
        {
          "name": "is_pending_arbitration",
          "type": "bool"
        },
        {
          "name": "bounty",
          "type": "uint256"
        },
        {
          "name": "best_answer",
          "type": "bytes32"
        },
        {
          "name": "history_hash",
          "type": "bytes32"
        },
        {
          "name": "bond",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "templates",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "arbitrator",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogSetQuestionFee",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "template_id",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "question_text",
          "type": "string"
        }
      ],
      "name": "LogNewTemplate",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "template_id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "question",
          "type": "string"
        },
        {
          "indexed": true,
          "name": "content_hash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "arbitrator",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "timeout",
          "type": "uint32"
        },
        {
          "indexed": false,
          "name": "opening_ts",
          "type": "uint32"
        },
        {
          "indexed": false,
          "name": "nonce",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "created",
          "type": "uint256"
        }
      ],
      "name": "LogNewQuestion",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "bounty_added",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "bounty",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        }
      ],
      "name": "LogFundAnswerBounty",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "answer",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "history_hash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "bond",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "ts",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "is_commitment",
          "type": "bool"
        }
      ],
      "name": "LogNewAnswer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "answer_hash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "answer",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "nonce",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "bond",
          "type": "uint256"
        }
      ],
      "name": "LogAnswerReveal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        }
      ],
      "name": "LogNotifyOfArbitrationRequest",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "LogCancelArbitration",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "answer",
          "type": "bytes32"
        }
      ],
      "name": "LogFinalize",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogClaim",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogWithdraw",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "setQuestionFee",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "content",
          "type": "string"
        }
      ],
      "name": "createTemplate",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "content",
          "type": "string"
        },
        {
          "name": "question",
          "type": "string"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "timeout",
          "type": "uint32"
        },
        {
          "name": "opening_ts",
          "type": "uint32"
        },
        {
          "name": "nonce",
          "type": "uint256"
        }
      ],
      "name": "createTemplateAndAskQuestion",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "template_id",
          "type": "uint256"
        },
        {
          "name": "question",
          "type": "string"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "timeout",
          "type": "uint32"
        },
        {
          "name": "opening_ts",
          "type": "uint32"
        },
        {
          "name": "nonce",
          "type": "uint256"
        }
      ],
      "name": "askQuestion",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "fundAnswerBounty",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer",
          "type": "bytes32"
        },
        {
          "name": "max_previous",
          "type": "uint256"
        }
      ],
      "name": "submitAnswer",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer",
          "type": "bytes32"
        },
        {
          "name": "max_previous",
          "type": "uint256"
        },
        {
          "name": "answerer",
          "type": "address"
        }
      ],
      "name": "submitAnswerFor",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer_hash",
          "type": "bytes32"
        },
        {
          "name": "max_previous",
          "type": "uint256"
        },
        {
          "name": "_answerer",
          "type": "address"
        }
      ],
      "name": "submitAnswerCommitment",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer",
          "type": "bytes32"
        },
        {
          "name": "nonce",
          "type": "uint256"
        },
        {
          "name": "bond",
          "type": "uint256"
        }
      ],
      "name": "submitAnswerReveal",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "requester",
          "type": "address"
        },
        {
          "name": "max_previous",
          "type": "uint256"
        }
      ],
      "name": "notifyOfArbitrationRequest",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "cancelArbitration",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer",
          "type": "bytes32"
        },
        {
          "name": "answerer",
          "type": "address"
        }
      ],
      "name": "submitAnswerByArbitrator",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "answer",
          "type": "bytes32"
        },
        {
          "name": "payee_if_wrong",
          "type": "address"
        },
        {
          "name": "last_history_hash",
          "type": "bytes32"
        },
        {
          "name": "last_answer_or_commitment_id",
          "type": "bytes32"
        },
        {
          "name": "last_answerer",
          "type": "address"
        }
      ],
      "name": "assignWinnerAndSubmitAnswerByArbitrator",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "isFinalized",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getFinalAnswer",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "resultFor",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "content_hash",
          "type": "bytes32"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "min_timeout",
          "type": "uint32"
        },
        {
          "name": "min_bond",
          "type": "uint256"
        }
      ],
      "name": "getFinalAnswerIfMatches",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        },
        {
          "name": "history_hashes",
          "type": "bytes32[]"
        },
        {
          "name": "addrs",
          "type": "address[]"
        },
        {
          "name": "bonds",
          "type": "uint256[]"
        },
        {
          "name": "answers",
          "type": "bytes32[]"
        }
      ],
      "name": "claimWinnings",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "question_ids",
          "type": "bytes32[]"
        },
        {
          "name": "lengths",
          "type": "uint256[]"
        },
        {
          "name": "hist_hashes",
          "type": "bytes32[]"
        },
        {
          "name": "addrs",
          "type": "address[]"
        },
        {
          "name": "bonds",
          "type": "uint256[]"
        },
        {
          "name": "answers",
          "type": "bytes32[]"
        }
      ],
      "name": "claimMultipleAndWithdrawBalance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getContentHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getArbitrator",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getOpeningTS",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getTimeout",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getFinalizeTS",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "isPendingArbitration",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getBounty",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getBestAnswer",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getHistoryHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "question_id",
          "type": "bytes32"
        }
      ],
      "name": "getBond",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260006001553480156200001657600080fd5b506200008d606060405190810160405280603f81526020017f7b227469746c65223a20222573222c202274797065223a2022626f6f6c222c2081526020017f2263617465676f7279223a20222573222c20226c616e67223a20222573227d0081525062000308640100000000026401000000009004565b506200012a608060405190810160405280604f81526020017f7b227469746c65223a20222573222c202274797065223a202275696e74222c2081526020017f22646563696d616c73223a2031382c202263617465676f7279223a202225732281526020017f2c20226c616e67223a20222573227d000000000000000000000000000000000081525062000308640100000000026401000000009004565b50620001c7608060405190810160405280605a81526020017f7b227469746c65223a20222573222c202274797065223a202273696e676c652d81526020017f73656c656374222c20226f7574636f6d6573223a205b25735d2c20226361746581526020017f676f7279223a20222573222c20226c616e67223a20222573227d00000000000081525062000308640100000000026401000000009004565b5062000264608060405190810160405280605c81526020017f7b227469746c65223a20222573222c202274797065223a20226d756c7469706c81526020017f652d73656c656374222c20226f7574636f6d6573223a205b25735d2c2022636181526020017f7465676f7279223a20222573222c20226c616e67223a20222573227d0000000081525062000308640100000000026401000000009004565b5062000301608060405190810160405280604381526020017f7b227469746c65223a20222573222c202274797065223a20226461746574696d81526020017f65222c202263617465676f7279223a20222573222c20226c616e67223a20222581526020017f73227d000000000000000000000000000000000000000000000000000000000081525062000308640100000000026401000000009004565b506200051f565b6000806001549050436002600083815260200190815260200160002081905550826040516020018082805190602001908083835b6020831015156200036357805182526020820191506020810190506020830392506200033c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083101515620003ce5780518252602082019150602081019050602083039250620003a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206003600083815260200190815260200160002081600019169055503373ffffffffffffffffffffffffffffffffffffffff16817fb87fb721c0a557bb8dff89a86796466931d82ba530a66a239263eb8735ade2e4856040518080602001828103825283818151815260200191508051906020019080838360005b838110156200049257808201518184015260208101905062000475565b50505050905090810190601f168015620004c05780820380516001836020036101000a031916815260200191505b509250505060405180910390a3620004f16001826200050064010000000002620056ca179091906401000000009004565b60018190555080915050919050565b60008082840190508381101515156200051557fe5b8091505092915050565b616429806200052f6000396000f3006080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631101a0fd146101d2578063111ec1381461030f57806312a203c31461036b5780632417395c146104005780632518904c1461044557806326d6c97b146104b657806328828b1e146104fb5780633ccfd60b146106b05780634dc266b4146106c75780634df6ca2a1461071a5780634e60f8831461074757806351577ea914610790578063590158a7146107dd57806359245ff31461085c5780636fa427421461088057806370a08231146108d7578063762c38fd1461092e57806377f325df146109fa5780637f8d429e14610a3657806382ffa9f714610a7f578063839df94514610acc57806383bf460914610b375780638d552d4614610bb4578063924532fb14610c0157806395addb9014610c4a5780639e63fa6a14610d3a5780639f1025c614610d8b578063a1130d0414610ddc578063a462fb7b14610ee4578063acae8f4e14610f31578063bc52565214610f82578063d09cc57e14610fc3578063d44e293c14611010578063d7cff986146110ab578063ebbdd2b014611107578063f6a94ecb14611138578063fe92049d14611193575b600080fd5b3480156101de57600080fd5b5061030d6004803603810190808035600019169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506111f2565b005b6103696004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611700565b005b34801561037757600080fd5b506103e260048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff16906020019092919080359060200190929190505050611d10565b60405180826000191660001916815260200191505060405180910390f35b34801561040c57600080fd5b5061042f6004803603810190808035600019169060200190929190505050612081565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b5061047460048036038101908080356000191690602001909291905050506120a9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c257600080fd5b506104e560048036038101908080356000191690602001909291905050506120f1565b6040518082815260200191505060405180910390f35b34801561050757600080fd5b506106ae600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612119565b005b3480156106bc57600080fd5b506106c5612397565b005b3480156106d357600080fd5b506107186004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803590602001909291905050506124b6565b005b34801561072657600080fd5b5061074560048036038101908080359060200190929190505050612b2f565b005b34801561075357600080fd5b5061077260048036038101908080359060200190929190505050612be1565b60405180826000191660001916815260200191505060405180910390f35b34801561079c57600080fd5b506107bf6004803603810190808035600019169060200190929190505050612bf9565b60405180826000191660001916815260200191505060405180910390f35b3480156107e957600080fd5b5061080c6004803603810190808035600019169060200190929190505050612c21565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b61087e6004803603810190808035600019169060200190929190505050612c6b565b005b34801561088c57600080fd5b506108c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061306b565b6040518082815260200191505060405180910390f35b3480156108e357600080fd5b50610918600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613083565b6040518082815260200191505060405180910390f35b6109dc60048036038101908080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190803563ffffffff1690602001909291908035906020019092919050505061309b565b60405180826000191660001916815260200191505060405180910390f35b610a3460048036038101908080356000191690602001909291908035600019169060200190929190803590602001909291905050506134d0565b005b348015610a4257600080fd5b50610a656004803603810190808035600019169060200190929190505050613a3a565b604051808215151515815260200191505060405180910390f35b348015610a8b57600080fd5b50610aae6004803603810190808035600019169060200190929190505050613ad3565b60405180826000191660001916815260200191505060405180910390f35b348015610ad857600080fd5b50610afb6004803603810190808035600019169060200190929190505050613afb565b604051808463ffffffff1663ffffffff168152602001831515151581526020018260001916600019168152602001935050505060405180910390f35b348015610b4357600080fd5b50610b9e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050613b42565b6040518082815260200191505060405180910390f35b348015610bc057600080fd5b50610be36004803603810190808035600019169060200190929190505050613d23565b60405180826000191660001916815260200191505060405180910390f35b348015610c0d57600080fd5b50610c306004803603810190808035600019169060200190929190505050613d4b565b604051808215151515815260200191505060405180910390f35b348015610c5657600080fd5b50610c796004803603810190808035600019169060200190929190505050613d80565b604051808b600019166000191681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018963ffffffff1663ffffffff1681526020018863ffffffff1663ffffffff1681526020018763ffffffff1663ffffffff16815260200186151515158152602001858152602001846000191660001916815260200183600019166000191681526020018281526020019a505050505050505050505060405180910390f35b348015610d4657600080fd5b50610d696004803603810190808035600019169060200190929190505050613e31565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610d9757600080fd5b50610dba6004803603810190808035600019169060200190929190505050613e69565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b610ec6600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190803563ffffffff16906020019092919080359060200190929190505050613ea1565b60405180826000191660001916815260200191505060405180910390f35b348015610ef057600080fd5b50610f136004803603810190808035600019169060200190929190505050613eca565b60405180826000191660001916815260200191505060405180910390f35b348015610f3d57600080fd5b50610f606004803603810190808035600019169060200190929190505050613f71565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610f8e57600080fd5b50610fad60048036038101908080359060200190929190505050613fa9565b6040518082815260200191505060405180910390f35b348015610fcf57600080fd5b50610ff26004803603810190808035600019169060200190929190505050613fc1565b60405180826000191660001916815260200191505060405180910390f35b34801561101c57600080fd5b506110a960048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614068565b005b6111056004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061421d565b005b34801561111357600080fd5b506111366004803603810190808035600019169060200190929190505050614840565b005b34801561114457600080fd5b506111916004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614ad9565b005b34801561119f57600080fd5b506111f060048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506150f7565b005b60008060008060008060008b61120781613a3a565b151561127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60008c5111151561131a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f6174206c65617374206f6e6520686973746f7279206861736820656e7472792081526020017f6d7573742062652070726f76696465640000000000000000000000000000000081525060400191505060405180910390fd5b600560008e6000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169750600560008e60001916600019168152602001908152602001600020600101549650600560008e60001916600019168152602001908152602001600020600201549550600460008e60001916600019168152602001908152602001600020600501549450600460008e60001916600019168152602001908152602001600020600401549350600092505b8b5183101561155457611456858d858151811015156113ff57fe5b906020019060200201518b8681518110151561141757fe5b906020019060200201518d8781518110151561142f57fe5b906020019060200201518f8881518110151561144757fe5b906020019060200201516153d3565b915061146b87876156ca90919063ffffffff16565b95506114c28d85888b8f8881518110151561148257fe5b906020019060200201518f8981518110151561149a57fe5b906020019060200201518f8a8151811015156114b257fe5b90602001906020020151896156e8565b809950819750505089838151811015156114d857fe5b906020019060200201519650600460008e60001916600019168152602001908152602001600020600601548714151561152d5761152a60288881151561151a57fe5b048861591f90919063ffffffff16565b96505b8b8381518110151561153b57fe5b90602001906020020151945082806001019350506113e4565b600060010260001916856000191614151561165757600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415156115af576115aa8d8988615938565b600095505b87600560008f6000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600560008f600019166000191681526020019081526020016000206001018190555085600560008f60001916600019168152602001908152602001600020600201819055506116ca565b6116748d8961166f8a8a6156ca90919063ffffffff16565b615938565b600560008e60001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055600282016000905550505b84600460008f60001916600019168152602001908152602001600020600501816000191690555050505050505050505050505050565b83600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff161115156117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515611877576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff1614806118ce57504263ffffffff168263ffffffff16115b1515611968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff1614806119ba57504263ffffffff168163ffffffff1611155b1515611a2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b86600034111515611aa7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f626f6e64206d75737420626520706f736974697665000000000000000000000081525060200191505060405180910390fd5b611ad9600260046000846000191660001916815260200190815260200160002060060154615a2390919063ffffffff16565b3410151515611b76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f626f6e64206d75737420626520646f75626c65206174206c656173742070726581526020017f76696f757320626f6e640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b87866000811115611c1857806004600084600019166000191681526020019081526020016000206006015411151515611c17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515611cbd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616e737765726572206d757374206265206e6f6e2d7a65726f0000000000000081525060200191505060405180910390fd5b611ccb8a8a89346000615a5e565b611d048a8a600460008e6000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff16615c76565b50505050505050505050565b600085611d1c81613a3a565b1515611d90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60046000886000191660001916815260200190815260200160002060000154600019168660001916141515611e2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f636f6e74656e742068617368206d757374206d6174636800000000000000000081525060200191505060405180910390fd5b60046000886000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515611f0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f61726269747261746f72206d757374206d61746368000000000000000000000081525060200191505060405180910390fd5b60046000886000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff168463ffffffff1611151515611fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f74696d656f7574206d757374206265206c6f6e6720656e6f756768000000000081525060200191505060405180910390fd5b600460008860001916600019168152602001908152602001600020600601548311151515612056576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f626f6e64206d757374206265206869676820656e6f756768000000000000000081525060200191505060405180910390fd5b6004600088600019166000191681526020019081526020016000206004015491505095945050505050565b6000600460008360001916600019168152602001908152602001600020600301549050919050565b600060046000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600460008360001916600019168152602001908152602001600020600601549050919050565b60008060008060608060608060008098505b8e5189101561237e578e8981518110151561214257fe5b9060200190602002015196508d8981518110151561215c57fe5b906020019060200201519550856040519080825280602002602001820160405280156121975781602001602082028038833980820191505090505b509450856040519080825280602002602001820160405280156121c95781602001602082028038833980820191505090505b509350856040519080825280602002602001820160405280156121fb5781602001602082028038833980820191505090505b5092508560405190808252806020026020018201604052801561222d5781602001602082028038833980820191505090505b509150600090505b85811015612364578c8881518110151561224b57fe5b90602001906020020151858281518110151561226357fe5b9060200190602002019060001916908160001916815250508b8881518110151561228957fe5b9060200190602002015184828151811015156122a157fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508a888151811015156122eb57fe5b90602001906020020151838281518110151561230357fe5b9060200190602002018181525050898881518110151561231f57fe5b90602001906020020151828281518110151561233757fe5b90602001906020020190600019169081600019168152505087806001019850508080600101915050612235565b61237187868686866111f2565b888060010199505061212b565b612386612397565b505050505050505050505050505050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612464573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f4ce7033d118120e254016dccf195288400b28fc8936425acd5f17ce2df3ab708826040518082815260200191505060405180910390a250565b60008085600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515612569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff1614806125c057504263ffffffff168263ffffffff16115b151561265a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f66696e616c697a6174696f6e206465616c696e65206d757374206e6f7420686181526020017f766520706173736564000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff1614806126ac57504263ffffffff168163ffffffff1611155b1515612720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b8787604051602001808360001916600019168152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156127855780518252602082019150602081019050602083039250612760565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209450888587604051602001808460001916600019168152602001836000191660001916815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b6020831015156128295780518252602082019150602081019050602083039250612804565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060066000856000191660001916815260200190815260200160002060000160049054906101000a900460ff1615151561291f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f636f6d6d69746d656e74206d757374206e6f742068617665206265656e20726581526020017f7665616c6564207965740000000000000000000000000000000000000000000081525060400191505060405180910390fd5b4263ffffffff1660066000866000191660001916815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115156129f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f72657665616c20646561646c696e65206d757374206e6f74206861766520706181526020017f737365640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b876006600086600019166000191681526020019081526020016000206001018160001916905550600160066000866000191660001916815260200190815260200160002060000160046101000a81548160ff021916908315150217905550600460008a6000191660001916815260200190815260200160002060060154861415612ab457612ab38989600460008d6000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff16615c76565b5b84600019163373ffffffffffffffffffffffffffffffffffffffff168a600019167fa7b2d313bc7a062e30b2c3b811aa4c9faf09755a6b4ea3bf42deff920944332f8b8b8b604051808460001916600019168152602001838152602001828152602001935050505060405180910390a4505050505050505050565b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fdca703d022171824d3d639b33c1525fd2338120b4cfb89507c0b59596893acda3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60036020528060005260406000206000915090505481565b6000600460008360001916600019168152602001908152602001600020600001549050919050565b60056020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b80600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515612d1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515612de2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff161480612e3957504263ffffffff168263ffffffff16115b1515612ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff161480612f2557504263ffffffff168163ffffffff1611155b1515612f99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b612fca34600460008760001916600019168152602001908152602001600020600301546156ca90919063ffffffff16565b600460008660001916600019168152602001908152602001600020600301819055503373ffffffffffffffffffffffffffffffffffffffff1684600019167f54d68405b79f2aa4fd4e8db7b67844ad254cf8f208aac476c2894134a9deab663460046000896000191660001916815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a350505050565b60076020528060005260406000206000915090505481565b60006020528060005260406000206000915090505481565b600080600080600260008b81526020019081526020016000205411151561312a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f74656d706c617465206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b888589604051602001808481526020018363ffffffff1663ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040182805190602001908083835b60208310151561319c5780518252602082019150602081019050602083039250613177565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310151561320757805182526020820191506020810190506020830392506131e2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915081878733876040516020018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018463ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613354578051825260208201915060208101905060208303925061332f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506133908183898989615cf7565b81600019163373ffffffffffffffffffffffffffffffffffffffff1682600019167ffe2dac156a3890636ce13f65f4fdf41dcaee11526e4a5374531572d92194796c8c8c8c8c8c8c4260405180888152602001806020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff168152602001848152602001838152602001828103825288818151815260200191508051906020019080838360005b83811015613481578082015181840152602081019050613466565b50505050905090810190601f1680156134ae5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a480925050509695505050505050565b82600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515613580576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515613647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff16148061369e57504263ffffffff168263ffffffff16115b1515613738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff16148061378a57504263ffffffff168163ffffffff1611155b15156137fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b85600034111515613877576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f626f6e64206d75737420626520706f736974697665000000000000000000000081525060200191505060405180910390fd5b6138a9600260046000846000191660001916815260200190815260200160002060060154615a2390919063ffffffff16565b3410151515613946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f626f6e64206d75737420626520646f75626c65206174206c656173742070726581526020017f76696f757320626f6e640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b868560008111156139e8578060046000846000191660001916815260200190815260200160002060060154111515156139e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b6139f6898933346000615a5e565b613a2f8989600460008d6000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff16615c76565b505050505050505050565b600080600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff16905060046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16158015613ab35750600063ffffffff168163ffffffff16115b8015613acb57504263ffffffff168163ffffffff1611155b915050919050565b6000600460008360001916600019168152602001908152602001600020600501549050919050565b60066020528060005260406000206000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900460ff16908060010154905083565b6000806001549050436002600083815260200190815260200160002081905550826040516020018082805190602001908083835b602083101515613b9b5780518252602082019150602081019050602083039250613b76565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083101515613c045780518252602082019150602081019050602083039250613bdf565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206003600083815260200190815260200160002081600019169055503373ffffffffffffffffffffffffffffffffffffffff16817fb87fb721c0a557bb8dff89a86796466931d82ba530a66a239263eb8735ade2e4856040518080602001828103825283818151815260200191508051906020019080838360005b83811015613cc6578082015181840152602081019050613cab565b50505050905090810190601f168015613cf35780820380516001836020036101000a031916815260200191505b509250505060405180910390a3613d146001826156ca90919063ffffffff16565b60018190555080915050919050565b6000600460008360001916600019168152602001908152602001600020600401549050919050565b600060046000836000191660001916815260200190815260200160002060020160009054906101000a900460ff169050919050565b60046020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900463ffffffff16908060010160189054906101000a900463ffffffff169080600101601c9054906101000a900463ffffffff16908060020160009054906101000a900460ff1690806003015490806004015490806005015490806006015490508a565b600060046000836000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff169050919050565b600060046000836000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff169050919050565b600080613ead88613b42565b9050613ebd81888888888861309b565b9150509695505050505050565b600081613ed681613a3a565b1515613f4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060040154915050919050565b6000600460008360001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169050919050565b60026020528060005260406000206000915090505481565b600081613fcd81613a3a565b1515614041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060040154915050919050565b6000806140b4600460008a60001916600019168152602001908152602001600020600501548686600460008d6000191660001916815260200190815260200160002060060154876153d3565b91508180156140ec575060066000856000191660001916815260200190815260200160002060000160049054906101000a900460ff16155b156141d0574263ffffffff1660066000866000191660001916815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161015156141c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f596f75206d757374207761697420666f72207468652072657665616c2064656181526020017f646c696e65206265666f72652066696e616c697a696e6700000000000000000081525060400191505060405180910390fd5b859050614208565b8660001916600460008a600019166000191681526020019081526020016000206004015460001916146142035785614205565b825b90505b6142138888836150f7565b5050505050505050565b60008085600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff161115156142d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515614397576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff1614806143ee57504263ffffffff168263ffffffff16115b1515614488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff1614806144da57504263ffffffff168163ffffffff1611155b151561454e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b886000341115156145c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f626f6e64206d75737420626520706f736974697665000000000000000000000081525060200191505060405180910390fd5b6145f9600260046000846000191660001916815260200190815260200160002060060154615a2390919063ffffffff16565b3410151515614696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f626f6e64206d75737420626520646f75626c65206174206c656173742070726581526020017f76696f757320626f6e640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8988600081111561473857806004600084600019166000191681526020019081526020016000206006015411151515614737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b8b8b34604051602001808460001916600019168152602001836000191660001916815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b6020831015156147ad5780518252602082019150602081019050602083039250614788565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209750600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16146148165788614818565b335b96506148248c8961625d565b6148328c8989346001615a5e565b505050505050505050505050565b8060046000826000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6d73672e73656e646572206d7573742062652061726269747261746f7200000081525060200191505060405180910390fd5b8160046000826000191660001916815260200190815260200160002060020160009054906101000a900460ff1615156149e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f7175657374696f6e206d7573742062652070656e64696e67206172626974726181526020017f74696f6e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600060046000856000191660001916815260200190815260200160002060020160006101000a81548160ff021916908315150217905550614a6760046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff164263ffffffff166163d390919063ffffffff16565b600460008560001916600019168152602001908152602001600020600101601c6101000a81548163ffffffff021916908363ffffffff16021790555082600019167f71bf7c2b9df0b8818e7eb6746a5bf69699ebbab041f3795f9ed58e469afa9a3a60405160405180910390a2505050565b8260046000826000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614bbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6d73672e73656e646572206d7573742062652061726269747261746f7200000081525060200191505060405180910390fd5b83600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515614c6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515614d32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff161480614d8957504263ffffffff168263ffffffff16115b1515614e23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff161480614e7557504263ffffffff168163ffffffff1611155b1515614ee9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b86856000811115614f8b57806004600084600019166000191681526020019081526020016000206006015411151515614f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b6000600460008b600019166000191681526020019081526020016000206006015411151561506d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260428152602001807f5175657374696f6e206d75737420616c7265616479206861766520616e20616e81526020017f73776572207768656e206172626974726174696f6e206973207265717565737481526020017f656400000000000000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6001600460008b6000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083151502179055508773ffffffffffffffffffffffffffffffffffffffff1689600019167f75d7939999bc902187c4aed400872883e445145f1983539166f783fa040b476260405160405180910390a3505050505050505050565b8260046000826000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156151d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6d73672e73656e646572206d7573742062652061726269747261746f7200000081525060200191505060405180910390fd5b8360046000826000191660001916815260200190815260200160002060020160009054906101000a900460ff1615156152a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f7175657374696f6e206d7573742062652070656e64696e67206172626974726181526020017f74696f6e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515615345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616e737765726572206d7573742062652070726f76696465640000000000000081525060200191505060405180910390fd5b836000191685600019167f18d760beffe3717270cd90d9d920ec1a48c194e9ad7bba23eb1c92d3eb974f9760405160405180910390a3600060046000876000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083151502179055506153c0858585600080615a5e565b6153cc85856000615c76565b5050505050565b600084848484600160405160200180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101955050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156154bc5780518252602082019150602081019050602083039250615497565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019168660001916141561550157600190506156c1565b84848484600060405160200180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101955050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156155e857805182526020820191506020810190506020830392506155c3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019168660001916141561562d57600090506156c1565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f486973746f727920696e7075742070726f766964656420646964206e6f74206d81526020017f617463682074686520657870656374656420686173680000000000000000000081525060400191505060405180910390fd5b95945050505050565b60008082840190508381101515156156de57fe5b8091505092915050565b60008060008084156157f85785915060066000836000191660001916815260200190815260200160002060000160049054906101000a900460ff16151561578557600660008360001916600019168152602001908152602001600020600080820160006101000a81549063ffffffff02191690556000820160046101000a81549060ff021916905560018201600090555050898993509350615910565b600660008360001916600019168152602001908152602001600020600101549550600660008360001916600019168152602001908152602001600020600080820160006101000a81549063ffffffff02191690556000820160046101000a81549060ff0219169055600182016000905550505b8a600019168660001916141561590957600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561589c57879850615871600460008e60001916600019168152602001908152602001600020600301548b6156ca90919063ffffffff16565b99506000600460008e6000191660001916815260200190815260200160002060030181905550615908565b8873ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614151561590757868a10156158df57896158e1565b865b90506159008c8a6158fb848e61591f90919063ffffffff16565b615938565b8798508099505b5b5b8989935093505b50509850989650505050505050565b600082821115151561592d57fe5b818303905092915050565b615989816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546156ca90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff1683600019167f9c121aff33b50c1a53fef034ebec5f83da2d5a5187048f9c76c397ba27c1a1a6836040518082815260200191505060405180910390a3505050565b6000806000841415615a385760009150615a57565b8284029050828482811515615a4957fe5b04141515615a5357fe5b8091505b5092915050565b6000600460008760001916600019168152602001908152602001600020600501548584868560405160200180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101955050505050506040516020818303038152906040526040518082805190602001908083835b602083101515615b645780518252602082019150602081019050602083039250615b3f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506000831115615bc05782600460008860001916600019168152602001908152602001600020600601819055505b8060046000886000191660001916815260200190815260200160002060050181600019169055508373ffffffffffffffffffffffffffffffffffffffff1686600019167fe47ca4ebbbc2990134d1168821f38c5e177f3d5ee564bffeadeaa351905e622187848742886040518086600019166000191681526020018560001916600019168152602001848152602001838152602001821515151581526020019550505050505060405180910390a3505050505050565b816004600085600019166000191681526020019081526020016000206004018160001916905550615cb6814263ffffffff166163d390919063ffffffff16565b600460008560001916600019168152602001908152602001600020600101601c6101000a81548163ffffffff021916908363ffffffff160217905550505050565b60008086600060046000836000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16141515615da7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f7175657374696f6e206d757374206e6f7420657869737400000000000000000081525060200191505060405180910390fd5b60008563ffffffff16111515615e25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74696d656f7574206d75737420626520706f736974697665000000000000000081525060200191505060405180910390fd5b6301e133808563ffffffff16101515615ecc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f74696d656f7574206d757374206265206c657373207468616e2033363520646181526020017f797300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515615f71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f61726269747261746f72206d757374206265207365740000000000000000000081525060200191505060405180910390fd5b3492508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561613257600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150818310151515616089576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4554482070726f7669646564206d75737420636f766572207175657374696f6e81526020017f206665650000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61609c828461591f90919063ffffffff16565b92506160ef826000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546156ca90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b86600460008a60001916600019168152602001908152602001600020600001816000191690555085600460008a6000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600460008a6000191660001916815260200190815260200160002060010160146101000a81548163ffffffff021916908363ffffffff16021790555084600460008a6000191660001916815260200190815260200160002060010160186101000a81548163ffffffff021916908363ffffffff16021790555082600460008a60001916600019168152602001908152602001600020600301819055505050505050505050565b60008060066000846000191660001916815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16141515616330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f636f6d6d69746d656e74206d757374206e6f7420616c7265616479206578697381526020017f740000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600863ffffffff1660046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff1681151561637657fe5b049050616392814263ffffffff166163d390919063ffffffff16565b60066000846000191660001916815260200190815260200160002060000160006101000a81548163ffffffff021916908363ffffffff160217905550505050565b60008082840190508363ffffffff168163ffffffff16101515156163f357fe5b80915050929150505600a165627a7a72305820978980e617c90236ceaf851be0e88b71f0e891c36584f549fda8ddb2ef188a450029",
  "deployedBytecode": "0x6080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631101a0fd146101d2578063111ec1381461030f57806312a203c31461036b5780632417395c146104005780632518904c1461044557806326d6c97b146104b657806328828b1e146104fb5780633ccfd60b146106b05780634dc266b4146106c75780634df6ca2a1461071a5780634e60f8831461074757806351577ea914610790578063590158a7146107dd57806359245ff31461085c5780636fa427421461088057806370a08231146108d7578063762c38fd1461092e57806377f325df146109fa5780637f8d429e14610a3657806382ffa9f714610a7f578063839df94514610acc57806383bf460914610b375780638d552d4614610bb4578063924532fb14610c0157806395addb9014610c4a5780639e63fa6a14610d3a5780639f1025c614610d8b578063a1130d0414610ddc578063a462fb7b14610ee4578063acae8f4e14610f31578063bc52565214610f82578063d09cc57e14610fc3578063d44e293c14611010578063d7cff986146110ab578063ebbdd2b014611107578063f6a94ecb14611138578063fe92049d14611193575b600080fd5b3480156101de57600080fd5b5061030d6004803603810190808035600019169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506111f2565b005b6103696004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611700565b005b34801561037757600080fd5b506103e260048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff16906020019092919080359060200190929190505050611d10565b60405180826000191660001916815260200191505060405180910390f35b34801561040c57600080fd5b5061042f6004803603810190808035600019169060200190929190505050612081565b6040518082815260200191505060405180910390f35b34801561045157600080fd5b5061047460048036038101908080356000191690602001909291905050506120a9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c257600080fd5b506104e560048036038101908080356000191690602001909291905050506120f1565b6040518082815260200191505060405180910390f35b34801561050757600080fd5b506106ae600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612119565b005b3480156106bc57600080fd5b506106c5612397565b005b3480156106d357600080fd5b506107186004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803590602001909291905050506124b6565b005b34801561072657600080fd5b5061074560048036038101908080359060200190929190505050612b2f565b005b34801561075357600080fd5b5061077260048036038101908080359060200190929190505050612be1565b60405180826000191660001916815260200191505060405180910390f35b34801561079c57600080fd5b506107bf6004803603810190808035600019169060200190929190505050612bf9565b60405180826000191660001916815260200191505060405180910390f35b3480156107e957600080fd5b5061080c6004803603810190808035600019169060200190929190505050612c21565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b61087e6004803603810190808035600019169060200190929190505050612c6b565b005b34801561088c57600080fd5b506108c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061306b565b6040518082815260200191505060405180910390f35b3480156108e357600080fd5b50610918600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613083565b6040518082815260200191505060405180910390f35b6109dc60048036038101908080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190803563ffffffff1690602001909291908035906020019092919050505061309b565b60405180826000191660001916815260200191505060405180910390f35b610a3460048036038101908080356000191690602001909291908035600019169060200190929190803590602001909291905050506134d0565b005b348015610a4257600080fd5b50610a656004803603810190808035600019169060200190929190505050613a3a565b604051808215151515815260200191505060405180910390f35b348015610a8b57600080fd5b50610aae6004803603810190808035600019169060200190929190505050613ad3565b60405180826000191660001916815260200191505060405180910390f35b348015610ad857600080fd5b50610afb6004803603810190808035600019169060200190929190505050613afb565b604051808463ffffffff1663ffffffff168152602001831515151581526020018260001916600019168152602001935050505060405180910390f35b348015610b4357600080fd5b50610b9e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050613b42565b6040518082815260200191505060405180910390f35b348015610bc057600080fd5b50610be36004803603810190808035600019169060200190929190505050613d23565b60405180826000191660001916815260200191505060405180910390f35b348015610c0d57600080fd5b50610c306004803603810190808035600019169060200190929190505050613d4b565b604051808215151515815260200191505060405180910390f35b348015610c5657600080fd5b50610c796004803603810190808035600019169060200190929190505050613d80565b604051808b600019166000191681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018963ffffffff1663ffffffff1681526020018863ffffffff1663ffffffff1681526020018763ffffffff1663ffffffff16815260200186151515158152602001858152602001846000191660001916815260200183600019166000191681526020018281526020019a505050505050505050505060405180910390f35b348015610d4657600080fd5b50610d696004803603810190808035600019169060200190929190505050613e31565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610d9757600080fd5b50610dba6004803603810190808035600019169060200190929190505050613e69565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b610ec6600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190803563ffffffff16906020019092919080359060200190929190505050613ea1565b60405180826000191660001916815260200191505060405180910390f35b348015610ef057600080fd5b50610f136004803603810190808035600019169060200190929190505050613eca565b60405180826000191660001916815260200191505060405180910390f35b348015610f3d57600080fd5b50610f606004803603810190808035600019169060200190929190505050613f71565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610f8e57600080fd5b50610fad60048036038101908080359060200190929190505050613fa9565b6040518082815260200191505060405180910390f35b348015610fcf57600080fd5b50610ff26004803603810190808035600019169060200190929190505050613fc1565b60405180826000191660001916815260200191505060405180910390f35b34801561101c57600080fd5b506110a960048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614068565b005b6111056004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061421d565b005b34801561111357600080fd5b506111366004803603810190808035600019169060200190929190505050614840565b005b34801561114457600080fd5b506111916004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614ad9565b005b34801561119f57600080fd5b506111f060048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506150f7565b005b60008060008060008060008b61120781613a3a565b151561127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60008c5111151561131a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f6174206c65617374206f6e6520686973746f7279206861736820656e7472792081526020017f6d7573742062652070726f76696465640000000000000000000000000000000081525060400191505060405180910390fd5b600560008e6000191660001916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169750600560008e60001916600019168152602001908152602001600020600101549650600560008e60001916600019168152602001908152602001600020600201549550600460008e60001916600019168152602001908152602001600020600501549450600460008e60001916600019168152602001908152602001600020600401549350600092505b8b5183101561155457611456858d858151811015156113ff57fe5b906020019060200201518b8681518110151561141757fe5b906020019060200201518d8781518110151561142f57fe5b906020019060200201518f8881518110151561144757fe5b906020019060200201516153d3565b915061146b87876156ca90919063ffffffff16565b95506114c28d85888b8f8881518110151561148257fe5b906020019060200201518f8981518110151561149a57fe5b906020019060200201518f8a8151811015156114b257fe5b90602001906020020151896156e8565b809950819750505089838151811015156114d857fe5b906020019060200201519650600460008e60001916600019168152602001908152602001600020600601548714151561152d5761152a60288881151561151a57fe5b048861591f90919063ffffffff16565b96505b8b8381518110151561153b57fe5b90602001906020020151945082806001019350506113e4565b600060010260001916856000191614151561165757600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415156115af576115aa8d8988615938565b600095505b87600560008f6000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600560008f600019166000191681526020019081526020016000206001018190555085600560008f60001916600019168152602001908152602001600020600201819055506116ca565b6116748d8961166f8a8a6156ca90919063ffffffff16565b615938565b600560008e60001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055600282016000905550505b84600460008f60001916600019168152602001908152602001600020600501816000191690555050505050505050505050505050565b83600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff161115156117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515611877576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff1614806118ce57504263ffffffff168263ffffffff16115b1515611968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff1614806119ba57504263ffffffff168163ffffffff1611155b1515611a2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b86600034111515611aa7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f626f6e64206d75737420626520706f736974697665000000000000000000000081525060200191505060405180910390fd5b611ad9600260046000846000191660001916815260200190815260200160002060060154615a2390919063ffffffff16565b3410151515611b76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f626f6e64206d75737420626520646f75626c65206174206c656173742070726581526020017f76696f757320626f6e640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b87866000811115611c1857806004600084600019166000191681526020019081526020016000206006015411151515611c17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515611cbd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616e737765726572206d757374206265206e6f6e2d7a65726f0000000000000081525060200191505060405180910390fd5b611ccb8a8a89346000615a5e565b611d048a8a600460008e6000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff16615c76565b50505050505050505050565b600085611d1c81613a3a565b1515611d90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60046000886000191660001916815260200190815260200160002060000154600019168660001916141515611e2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f636f6e74656e742068617368206d757374206d6174636800000000000000000081525060200191505060405180910390fd5b60046000886000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515611f0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f61726269747261746f72206d757374206d61746368000000000000000000000081525060200191505060405180910390fd5b60046000886000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff168463ffffffff1611151515611fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f74696d656f7574206d757374206265206c6f6e6720656e6f756768000000000081525060200191505060405180910390fd5b600460008860001916600019168152602001908152602001600020600601548311151515612056576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f626f6e64206d757374206265206869676820656e6f756768000000000000000081525060200191505060405180910390fd5b6004600088600019166000191681526020019081526020016000206004015491505095945050505050565b6000600460008360001916600019168152602001908152602001600020600301549050919050565b600060046000836000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600460008360001916600019168152602001908152602001600020600601549050919050565b60008060008060608060608060008098505b8e5189101561237e578e8981518110151561214257fe5b9060200190602002015196508d8981518110151561215c57fe5b906020019060200201519550856040519080825280602002602001820160405280156121975781602001602082028038833980820191505090505b509450856040519080825280602002602001820160405280156121c95781602001602082028038833980820191505090505b509350856040519080825280602002602001820160405280156121fb5781602001602082028038833980820191505090505b5092508560405190808252806020026020018201604052801561222d5781602001602082028038833980820191505090505b509150600090505b85811015612364578c8881518110151561224b57fe5b90602001906020020151858281518110151561226357fe5b9060200190602002019060001916908160001916815250508b8881518110151561228957fe5b9060200190602002015184828151811015156122a157fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508a888151811015156122eb57fe5b90602001906020020151838281518110151561230357fe5b9060200190602002018181525050898881518110151561231f57fe5b90602001906020020151828281518110151561233757fe5b90602001906020020190600019169081600019168152505087806001019850508080600101915050612235565b61237187868686866111f2565b888060010199505061212b565b612386612397565b505050505050505050505050505050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612464573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f4ce7033d118120e254016dccf195288400b28fc8936425acd5f17ce2df3ab708826040518082815260200191505060405180910390a250565b60008085600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515612569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff1614806125c057504263ffffffff168263ffffffff16115b151561265a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001807f66696e616c697a6174696f6e206465616c696e65206d757374206e6f7420686181526020017f766520706173736564000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff1614806126ac57504263ffffffff168163ffffffff1611155b1515612720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b8787604051602001808360001916600019168152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156127855780518252602082019150602081019050602083039250612760565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209450888587604051602001808460001916600019168152602001836000191660001916815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b6020831015156128295780518252602082019150602081019050602083039250612804565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060066000856000191660001916815260200190815260200160002060000160049054906101000a900460ff1615151561291f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f636f6d6d69746d656e74206d757374206e6f742068617665206265656e20726581526020017f7665616c6564207965740000000000000000000000000000000000000000000081525060400191505060405180910390fd5b4263ffffffff1660066000866000191660001916815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115156129f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f72657665616c20646561646c696e65206d757374206e6f74206861766520706181526020017f737365640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b876006600086600019166000191681526020019081526020016000206001018160001916905550600160066000866000191660001916815260200190815260200160002060000160046101000a81548160ff021916908315150217905550600460008a6000191660001916815260200190815260200160002060060154861415612ab457612ab38989600460008d6000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff16615c76565b5b84600019163373ffffffffffffffffffffffffffffffffffffffff168a600019167fa7b2d313bc7a062e30b2c3b811aa4c9faf09755a6b4ea3bf42deff920944332f8b8b8b604051808460001916600019168152602001838152602001828152602001935050505060405180910390a4505050505050505050565b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fdca703d022171824d3d639b33c1525fd2338120b4cfb89507c0b59596893acda3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60036020528060005260406000206000915090505481565b6000600460008360001916600019168152602001908152602001600020600001549050919050565b60056020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b80600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515612d1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515612de2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff161480612e3957504263ffffffff168263ffffffff16115b1515612ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff161480612f2557504263ffffffff168163ffffffff1611155b1515612f99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b612fca34600460008760001916600019168152602001908152602001600020600301546156ca90919063ffffffff16565b600460008660001916600019168152602001908152602001600020600301819055503373ffffffffffffffffffffffffffffffffffffffff1684600019167f54d68405b79f2aa4fd4e8db7b67844ad254cf8f208aac476c2894134a9deab663460046000896000191660001916815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a350505050565b60076020528060005260406000206000915090505481565b60006020528060005260406000206000915090505481565b600080600080600260008b81526020019081526020016000205411151561312a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f74656d706c617465206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b888589604051602001808481526020018363ffffffff1663ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040182805190602001908083835b60208310151561319c5780518252602082019150602081019050602083039250613177565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310151561320757805182526020820191506020810190506020830392506131e2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915081878733876040516020018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018463ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613354578051825260208201915060208101905060208303925061332f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506133908183898989615cf7565b81600019163373ffffffffffffffffffffffffffffffffffffffff1682600019167ffe2dac156a3890636ce13f65f4fdf41dcaee11526e4a5374531572d92194796c8c8c8c8c8c8c4260405180888152602001806020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff168152602001848152602001838152602001828103825288818151815260200191508051906020019080838360005b83811015613481578082015181840152602081019050613466565b50505050905090810190601f1680156134ae5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a480925050509695505050505050565b82600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515613580576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515613647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff16148061369e57504263ffffffff168263ffffffff16115b1515613738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff16148061378a57504263ffffffff168163ffffffff1611155b15156137fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b85600034111515613877576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f626f6e64206d75737420626520706f736974697665000000000000000000000081525060200191505060405180910390fd5b6138a9600260046000846000191660001916815260200190815260200160002060060154615a2390919063ffffffff16565b3410151515613946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f626f6e64206d75737420626520646f75626c65206174206c656173742070726581526020017f76696f757320626f6e640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b868560008111156139e8578060046000846000191660001916815260200190815260200160002060060154111515156139e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b6139f6898933346000615a5e565b613a2f8989600460008d6000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff16615c76565b505050505050505050565b600080600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff16905060046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16158015613ab35750600063ffffffff168163ffffffff16115b8015613acb57504263ffffffff168163ffffffff1611155b915050919050565b6000600460008360001916600019168152602001908152602001600020600501549050919050565b60066020528060005260406000206000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900460ff16908060010154905083565b6000806001549050436002600083815260200190815260200160002081905550826040516020018082805190602001908083835b602083101515613b9b5780518252602082019150602081019050602083039250613b76565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083101515613c045780518252602082019150602081019050602083039250613bdf565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206003600083815260200190815260200160002081600019169055503373ffffffffffffffffffffffffffffffffffffffff16817fb87fb721c0a557bb8dff89a86796466931d82ba530a66a239263eb8735ade2e4856040518080602001828103825283818151815260200191508051906020019080838360005b83811015613cc6578082015181840152602081019050613cab565b50505050905090810190601f168015613cf35780820380516001836020036101000a031916815260200191505b509250505060405180910390a3613d146001826156ca90919063ffffffff16565b60018190555080915050919050565b6000600460008360001916600019168152602001908152602001600020600401549050919050565b600060046000836000191660001916815260200190815260200160002060020160009054906101000a900460ff169050919050565b60046020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900463ffffffff16908060010160189054906101000a900463ffffffff169080600101601c9054906101000a900463ffffffff16908060020160009054906101000a900460ff1690806003015490806004015490806005015490806006015490508a565b600060046000836000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff169050919050565b600060046000836000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff169050919050565b600080613ead88613b42565b9050613ebd81888888888861309b565b9150509695505050505050565b600081613ed681613a3a565b1515613f4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060040154915050919050565b6000600460008360001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169050919050565b60026020528060005260406000206000915090505481565b600081613fcd81613a3a565b1515614041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f7175657374696f6e206d7573742062652066696e616c697a656400000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060040154915050919050565b6000806140b4600460008a60001916600019168152602001908152602001600020600501548686600460008d6000191660001916815260200190815260200160002060060154876153d3565b91508180156140ec575060066000856000191660001916815260200190815260200160002060000160049054906101000a900460ff16155b156141d0574263ffffffff1660066000866000191660001916815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161015156141c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f596f75206d757374207761697420666f72207468652072657665616c2064656181526020017f646c696e65206265666f72652066696e616c697a696e6700000000000000000081525060400191505060405180910390fd5b859050614208565b8660001916600460008a600019166000191681526020019081526020016000206004015460001916146142035785614205565b825b90505b6142138888836150f7565b5050505050505050565b60008085600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff161115156142d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515614397576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff1614806143ee57504263ffffffff168263ffffffff16115b1515614488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff1614806144da57504263ffffffff168163ffffffff1611155b151561454e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b886000341115156145c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f626f6e64206d75737420626520706f736974697665000000000000000000000081525060200191505060405180910390fd5b6145f9600260046000846000191660001916815260200190815260200160002060060154615a2390919063ffffffff16565b3410151515614696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f626f6e64206d75737420626520646f75626c65206174206c656173742070726581526020017f76696f757320626f6e640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8988600081111561473857806004600084600019166000191681526020019081526020016000206006015411151515614737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b8b8b34604051602001808460001916600019168152602001836000191660001916815260200182815260200193505050506040516020818303038152906040526040518082805190602001908083835b6020831015156147ad5780518252602082019150602081019050602083039250614788565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209750600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16146148165788614818565b335b96506148248c8961625d565b6148328c8989346001615a5e565b505050505050505050505050565b8060046000826000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6d73672e73656e646572206d7573742062652061726269747261746f7200000081525060200191505060405180910390fd5b8160046000826000191660001916815260200190815260200160002060020160009054906101000a900460ff1615156149e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f7175657374696f6e206d7573742062652070656e64696e67206172626974726181526020017f74696f6e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600060046000856000191660001916815260200190815260200160002060020160006101000a81548160ff021916908315150217905550614a6760046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff164263ffffffff166163d390919063ffffffff16565b600460008560001916600019168152602001908152602001600020600101601c6101000a81548163ffffffff021916908363ffffffff16021790555082600019167f71bf7c2b9df0b8818e7eb6746a5bf69699ebbab041f3795f9ed58e469afa9a3a60405160405180910390a2505050565b8260046000826000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614bbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6d73672e73656e646572206d7573742062652061726269747261746f7200000081525060200191505060405180910390fd5b83600080600060046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16111515614c6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7175657374696f6e206d7573742065786973740000000000000000000000000081525060200191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060020160009054906101000a900460ff16151515614d32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f7175657374696f6e206d757374206e6f742062652070656e64696e672061726281526020017f6974726174696f6e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008460001916600019168152602001908152602001600020600101601c9054906101000a900463ffffffff169150600063ffffffff168263ffffffff161480614d8957504263ffffffff168263ffffffff16115b1515614e23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206881526020017f617665207061737365640000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60046000846000191660001916815260200190815260200160002060010160149054906101000a900463ffffffff16905060008163ffffffff161480614e7557504263ffffffff168163ffffffff1611155b1515614ee9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f70656e696e672064617465206d75737420686176652070617373656400000081525060200191505060405180910390fd5b86856000811115614f8b57806004600084600019166000191681526020019081526020016000206006015411151515614f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f626f6e64206d75737420657863656564206d61785f70726576696f757300000081525060200191505060405180910390fd5b5b6000600460008b600019166000191681526020019081526020016000206006015411151561506d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260428152602001807f5175657374696f6e206d75737420616c7265616479206861766520616e20616e81526020017f73776572207768656e206172626974726174696f6e206973207265717565737481526020017f656400000000000000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6001600460008b6000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083151502179055508773ffffffffffffffffffffffffffffffffffffffff1689600019167f75d7939999bc902187c4aed400872883e445145f1983539166f783fa040b476260405160405180910390a3505050505050505050565b8260046000826000191660001916815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156151d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6d73672e73656e646572206d7573742062652061726269747261746f7200000081525060200191505060405180910390fd5b8360046000826000191660001916815260200190815260200160002060020160009054906101000a900460ff1615156152a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f7175657374696f6e206d7573742062652070656e64696e67206172626974726181526020017f74696f6e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515615345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616e737765726572206d7573742062652070726f76696465640000000000000081525060200191505060405180910390fd5b836000191685600019167f18d760beffe3717270cd90d9d920ec1a48c194e9ad7bba23eb1c92d3eb974f9760405160405180910390a3600060046000876000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083151502179055506153c0858585600080615a5e565b6153cc85856000615c76565b5050505050565b600084848484600160405160200180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101955050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156154bc5780518252602082019150602081019050602083039250615497565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019168660001916141561550157600190506156c1565b84848484600060405160200180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101955050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156155e857805182526020820191506020810190506020830392506155c3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019168660001916141561562d57600090506156c1565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f486973746f727920696e7075742070726f766964656420646964206e6f74206d81526020017f617463682074686520657870656374656420686173680000000000000000000081525060400191505060405180910390fd5b95945050505050565b60008082840190508381101515156156de57fe5b8091505092915050565b60008060008084156157f85785915060066000836000191660001916815260200190815260200160002060000160049054906101000a900460ff16151561578557600660008360001916600019168152602001908152602001600020600080820160006101000a81549063ffffffff02191690556000820160046101000a81549060ff021916905560018201600090555050898993509350615910565b600660008360001916600019168152602001908152602001600020600101549550600660008360001916600019168152602001908152602001600020600080820160006101000a81549063ffffffff02191690556000820160046101000a81549060ff0219169055600182016000905550505b8a600019168660001916141561590957600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561589c57879850615871600460008e60001916600019168152602001908152602001600020600301548b6156ca90919063ffffffff16565b99506000600460008e6000191660001916815260200190815260200160002060030181905550615908565b8873ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614151561590757868a10156158df57896158e1565b865b90506159008c8a6158fb848e61591f90919063ffffffff16565b615938565b8798508099505b5b5b8989935093505b50509850989650505050505050565b600082821115151561592d57fe5b818303905092915050565b615989816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546156ca90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff1683600019167f9c121aff33b50c1a53fef034ebec5f83da2d5a5187048f9c76c397ba27c1a1a6836040518082815260200191505060405180910390a3505050565b6000806000841415615a385760009150615a57565b8284029050828482811515615a4957fe5b04141515615a5357fe5b8091505b5092915050565b6000600460008760001916600019168152602001908152602001600020600501548584868560405160200180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101955050505050506040516020818303038152906040526040518082805190602001908083835b602083101515615b645780518252602082019150602081019050602083039250615b3f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506000831115615bc05782600460008860001916600019168152602001908152602001600020600601819055505b8060046000886000191660001916815260200190815260200160002060050181600019169055508373ffffffffffffffffffffffffffffffffffffffff1686600019167fe47ca4ebbbc2990134d1168821f38c5e177f3d5ee564bffeadeaa351905e622187848742886040518086600019166000191681526020018560001916600019168152602001848152602001838152602001821515151581526020019550505050505060405180910390a3505050505050565b816004600085600019166000191681526020019081526020016000206004018160001916905550615cb6814263ffffffff166163d390919063ffffffff16565b600460008560001916600019168152602001908152602001600020600101601c6101000a81548163ffffffff021916908363ffffffff160217905550505050565b60008086600060046000836000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff16141515615da7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f7175657374696f6e206d757374206e6f7420657869737400000000000000000081525060200191505060405180910390fd5b60008563ffffffff16111515615e25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74696d656f7574206d75737420626520706f736974697665000000000000000081525060200191505060405180910390fd5b6301e133808563ffffffff16101515615ecc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f74696d656f7574206d757374206265206c657373207468616e2033363520646181526020017f797300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515615f71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f61726269747261746f72206d757374206265207365740000000000000000000081525060200191505060405180910390fd5b3492508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561613257600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150818310151515616089576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4554482070726f7669646564206d75737420636f766572207175657374696f6e81526020017f206665650000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61609c828461591f90919063ffffffff16565b92506160ef826000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546156ca90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b86600460008a60001916600019168152602001908152602001600020600001816000191690555085600460008a6000191660001916815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600460008a6000191660001916815260200190815260200160002060010160146101000a81548163ffffffff021916908363ffffffff16021790555084600460008a6000191660001916815260200190815260200160002060010160186101000a81548163ffffffff021916908363ffffffff16021790555082600460008a60001916600019168152602001908152602001600020600301819055505050505050505050565b60008060066000846000191660001916815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16141515616330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f636f6d6d69746d656e74206d757374206e6f7420616c7265616479206578697381526020017f740000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600863ffffffff1660046000856000191660001916815260200190815260200160002060010160189054906101000a900463ffffffff1663ffffffff1681151561637657fe5b049050616392814263ffffffff166163d390919063ffffffff16565b60066000846000191660001916815260200190815260200160002060000160006101000a81548163ffffffff021916908363ffffffff160217905550505050565b60008082840190508363ffffffff168163ffffffff16101515156163f357fe5b80915050929150505600a165627a7a72305820978980e617c90236ceaf851be0e88b71f0e891c36584f549fda8ddb2ef188a450029",
  "sourceMap": "306:38979:17:-;;;3449:1;3424:26;;6220:564;8:9:-1;5:2;;;30:1;27;20:12;5:2;6220:564:17;6256:81;;;;;;;;;;;;;;;;;;;;;;;;:14;;;:81;;;:::i;:::-;;6347:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;:97;;;:::i;:::-;;6454:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;:108;;;:::i;:::-;;6572:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;:110;;;:::i;:::-;;6692:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;:85;;;:::i;:::-;;306:38979;;7617:348;7697:7;7716:10;7729:14;;7716:27;;7769:12;7753:9;:13;7763:2;7753:13;;;;;;;;;;;:28;;;;7840:7;7823:25;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;7823:25:17;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7823:25:17;;;7813:36;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;7813:36:17;;;;;;;;;;;;;;;;7791:15;:19;7807:2;7791:19;;;;;;;;;;;:58;;;;;;;7883:10;7864:39;;7879:2;7864:39;7895:7;7864:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7864:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7930:9;7937:1;7930:2;:6;;;;;;:9;;;;;:::i;:::-;7913:14;:26;;;;7956:2;7949:9;;7617:348;;;;:::o;719:129:15:-;777:7;792:9;808:1;804;:5;792:17;;827:1;822;:6;;815:14;;;;;;842:1;835:8;;719:129;;;;;:::o;306:38979:17:-;;;;;;;",
  "deployedSourceMap": "306:38979:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28277:3152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28277:3152:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14455:500;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26302:657;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26302:657:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38342:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38342:127:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36955:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36955:135:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39159:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39159:123:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35549:1003;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35549:1003:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;191:196:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;191:196:1;;;;;;18054:905:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18054:905:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7058:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7058:179:17;;;;;;;;;;;;;;;;;;;;;;;;;;3506:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3506:50:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36696:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36696:138:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3613:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3613:48:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12655:294;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3722:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3722:59:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56:44:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;56:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10145:768:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13440:410;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24515:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24515:275:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38894:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38894:138:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3667:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3667:49:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7617:348;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7617:348:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38574:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38574:136:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38012:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38012:151:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3562:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3562:45:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37225:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37225:133:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37485:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37485:128:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8839:424;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25005:176;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25005:176:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37752:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37752:135:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3456:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3456:44:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25383:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25383:171:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23257:1079;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23257:1079:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16479:600;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21102:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21102:355:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20367:506;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20367:506:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22053:498;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22053:498:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28277:3152;28659:13;28720:17;28789:20;29074:25;29148:19;29215:9;29412:18;28447:11;5493:24;5505:11;5493;:24::i;:::-;5485:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28514:1;28490:14;:21;:25;28482:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28675:15;:28;28691:11;28675:28;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;28659:50;;28740:15;:28;28756:11;28740:28;;;;;;;;;;;;;;;;;:38;;;28720:58;;28812:15;:28;28828:11;28812:28;;;;;;;;;;;;;;;;;:41;;;28789:64;;29102:9;:22;29112:11;29102:22;;;;;;;;;;;;;;;;;:35;;;29074:63;;29170:9;:22;29180:11;29170:22;;;;;;;;;;;;;;;;;:34;;;29148:56;;29243:1;29239:5;;29234:1119;29250:14;:21;29246:1;:25;29234:1119;;;29433:97;29461:17;29480:14;29495:1;29480:17;;;;;;;;;;;;;;;;;;29499:7;29507:1;29499:10;;;;;;;;;;;;;;;;;;29511:5;29517:1;29511:8;;;;;;;;;;;;;;;;;;29521:5;29527:1;29521:8;;;;;;;;;;;;;;;;;;29433:27;:97::i;:::-;29412:118;;29572:27;29589:9;29572:12;:16;;:27;;;;:::i;:::-;29557:42;;29638:147;29675:11;29688;29701:12;29715:5;29739;29745:1;29739:8;;;;;;;;;;;;;;;;;;29749:5;29755:1;29749:8;;;;;;;;;;;;;;;;;;29759:7;29767:1;29759:10;;;;;;;;;;;;;;;;;;29771:13;29638:19;:147::i;:::-;29614:171;;;;;;;;29909:5;29915:1;29909:8;;;;;;;;;;;;;;;;;;29897:20;;30164:9;:22;30174:11;30164:22;;;;;;;;;;;;;;;;;:27;;;30151:9;:40;;30147:143;;;30223:52;1103:2;30237:9;:37;;;;;;;;30223:9;:13;;:52;;;;:::i;:::-;30211:64;;30147:143;30324:14;30339:1;30324:17;;;;;;;;;;;;;;;;;;30304:37;;29273:3;;;;;;;29234:1119;;;600:1;592:10;;30368:30;;;:17;:30;;;;;30364:992;;;478:1;30803:21;;:5;:21;;;;30799:137;;;30844:43;30854:11;30867:5;30874:12;30844:9;:43::i;:::-;30920:1;30905:16;;30799:137;30987:5;30950:15;:28;30966:11;30950:28;;;;;;;;;;;;;;;;;:34;;;:42;;;;;;;;;;;;;;;;;;31047:9;31006:15;:28;31022:11;31006:28;;;;;;;;;;;;;;;;;:38;;:50;;;;31114:12;31070:15;:28;31086:11;31070:28;;;;;;;;;;;;;;;;;:41;;:56;;;;30364:992;;;31238:58;31248:11;31261:5;31268:27;31285:9;31268:12;:16;;:27;;;;:::i;:::-;31238:9;:58::i;:::-;31317:15;:28;31333:11;31317:28;;;;;;;;;;;;;;;;;;31310:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30364:992;31404:17;31366:9;:22;31376:11;31366:22;;;;;;;;;;;;;;;;;:35;;:55;;;;;;;28277:3152;;;;;;;;;;;;;:::o;14455:500::-;14575:11;4387:18;4571:17;4243:1;4210:9;:22;4220:11;4210:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:34;;;4202:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4287:9;:22;4297:11;4287:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;4286:46;4278:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4408:9;:22;4418:11;4408:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;4387:55;;726:1;4460:25;;:11;:25;;;:54;;;;4510:3;4489:25;;:11;:25;;;4460:54;4452:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4591:9;:22;4601:11;4591:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;4571:53;;4656:1;4642:10;:15;;;:44;;;;4682:3;4661:25;;:10;:25;;;;4642:44;4634:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14611:11;5647:1;5635:9;:13;5627:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:34;5739:1;5707:9;:22;5717:11;5707:22;;;;;;;;;;;;;;;;;:27;;;:31;;:34;;;;:::i;:::-;5693:9;:49;;5685:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14667:11;14680:12;5929:1;5914:12;:16;5910:132;;;5985:12;5954:9;:22;5964:11;5954:22;;;;;;;;;;;;;;;;;:27;;;:43;;5946:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:132;478:1;14733:24;;:8;:24;;;;14725:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14797:68;14817:11;14830:6;14838:8;14848:9;14859:5;14797:19;:68::i;:::-;14875:73;14896:11;14909:6;14917:9;:22;14927:11;14917:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;14875:20;:73::i;:::-;5799:1;;4731;14455:500;;;;;;;:::o;26302:657::-;26523:7;26483:11;5493:24;5505:11;5493;:24::i;:::-;5485:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26566:9;:22;26576:11;26566:22;;;;;;;;;;;;;;;;;:35;;;26550:51;;;:12;:51;;;;26542:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26661:9;:22;26671:11;26661:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;26647:47;;:10;:47;;;26639:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26753:9;:22;26763:11;26753:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;26738:45;;:11;:45;;;;26730:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26845:9;:22;26855:11;26845:22;;;;;;;;;;;;;;;;;:27;;;26833:8;:39;;26825:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26918:9;:22;26928:11;26918:22;;;;;;;;;;;;;;;;;:34;;;26911:41;;26302:657;;;;;;;;:::o;38342:127::-;38407:7;38433:9;:22;38443:11;38433:22;;;;;;;;;;;;;;;;;:29;;;38426:36;;38342:127;;;:::o;36955:135::-;37024:7;37050:9;:22;37060:11;37050:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;37043:40;;36955:135;;;:::o;39159:123::-;39222:7;39248:9;:22;39258:11;39248:22;;;;;;;;;;;;;;;;;:27;;;39241:34;;39159:123;;;:::o;35549:1003::-;35848:10;35868:9;35946:11;35990:10;36028:19;36081;36134;36187;36240:9;35897:1;35892:6;;35887:639;35905:12;:19;35900:2;:24;35887:639;;;35960:12;35973:2;35960:16;;;;;;;;;;;;;;;;;;35946:30;;36003:7;36011:2;36003:11;;;;;;;;;;;;;;;;;;35990:24;;36064:2;36050:17;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;36050:17:17;;;;36028:39;;36117:2;36103:17;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;36103:17:17;;;;36081:39;;36170:2;36156:17;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;36156:17:17;;;;36134:39;;36223:2;36209:17;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;36209:17:17;;;;36187:39;;36272:1;36268:5;;36263:205;36279:2;36275:1;:6;36263:205;;;36314:11;36326:1;36314:14;;;;;;;;;;;;;;;;;;36306:2;36309:1;36306:5;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;36354:5;36360:1;36354:8;;;;;;;;;;;;;;;;;;36346:2;36349:1;36346:5;;;;;;;;;;;;;;;;;:16;;;;;;;;;;;36388:5;36394:1;36388:8;;;;;;;;;;;;;;;;;;36380:2;36383:1;36380:5;;;;;;;;;;;;;;;;;:16;;;;;36422:7;36430:1;36422:10;;;;;;;;;;;;;;;;;;36414:2;36417:1;36414:5;;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;36450:3;;;;;;;36283;;;;;;;36263:205;;;36481:34;36495:3;36500:2;36504;36508;36512;36481:13;:34::i;:::-;35926:4;;;;;;;35887:639;;;36535:10;:8;:10::i;:::-;35549:1003;;;;;;;;;;;;;;;:::o;191:196:1:-;233:11;247:9;:21;257:10;247:21;;;;;;;;;;;;;;;;233:35;;302:1;278:9;:21;288:10;278:21;;;;;;;;;;;;;;;:25;;;;313:10;:19;;:24;333:3;313:24;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;313:24:1;364:10;352:28;;;376:3;352:28;;;;;;;;;;;;;;;;;;191:196;:::o;18054:905:17:-;18224:19;18298:21;18187:11;5073:18;5256:17;5038:1;5005:9;:22;5015:11;5005:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:34;;;4997:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5094:9;:22;5104:11;5094:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;5073:55;;726:1;5146:25;;:11;:25;;;:54;;;;5196:3;5175:25;;:11;:25;;;5146:54;5138:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5276:9;:22;5286:11;5276:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;5256:53;;5341:1;5327:10;:15;;;:44;;;;5367:3;5346:25;;:10;:25;;;;5327:44;5319:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18273:6;18281:5;18256:31;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18256:31:17;;;18246:42;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;18246:42:17;;;;;;;;;;;;;;;;18224:64;;18349:11;18362;18375:4;18332:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18332:48:17;;;18322:59;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;18322:59:17;;;;;;;;;;;;;;;;18298:83;;18401:11;:26;18413:13;18401:26;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;18400:39;18392:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18550:3;18504:50;;:11;:26;18516:13;18504:26;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;:50;;;18496:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18651:6;18606:11;:26;18618:13;18606:26;;;;;;;;;;;;;;;;;:42;;:51;;;;;;;18708:4;18667:11;:26;18679:13;18667:26;;;;;;;;;;;;;;;;;:38;;;:45;;;;;;;;;;;;;;;;;;18735:9;:22;18745:11;18735:22;;;;;;;;;;;;;;;;;:27;;;18727:4;:35;18723:139;;;18778:73;18799:11;18812:6;18820:9;:22;18830:11;18820:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;18778:20;:73::i;:::-;18723:139;18918:11;18877:74;;;18906:10;18877:74;;18893:11;18877:74;;;;18931:6;18939:5;18946:4;18877:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18054:905;;;;;;;;;:::o;7058:179::-;7178:3;7139:24;:36;7164:10;7139:36;;;;;;;;;;;;;;;:42;;;;7196:34;7214:10;7226:3;7196:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;7058:179;:::o;3506:50::-;;;;;;;;;;;;;;;;;:::o;36696:138::-;36766:7;36792:9;:22;36802:11;36792:22;;;;;;;;;;;;;;;;;:35;;;36785:42;;36696:138;;;:::o;3613:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12655:294::-;12721:11;4387:18;4571:17;4243:1;4210:9;:22;4220:11;4210:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:34;;;4202:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4287:9;:22;4297:11;4287:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;4286:46;4278:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4408:9;:22;4418:11;4408:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;4387:55;;726:1;4460:25;;:11;:25;;;:54;;;;4510:3;4489:25;;:11;:25;;;4460:54;4452:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4591:9;:22;4601:11;4591:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;4571:53;;4656:1;4642:10;:15;;;:44;;;;4682:3;4661:25;;:10;:25;;;;4642:44;4634:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12797:44;12831:9;12797;:22;12807:11;12797:22;;;;;;;;;;;;;;;;;:29;;;:33;;:44;;;;:::i;:::-;12765:9;:22;12775:11;12765:22;;;;;;;;;;;;;;;;;:29;;:76;;;;12931:10;12856:86;;12876:11;12856:86;;;;12889:9;12900;:22;12910:11;12900:22;;;;;;;;;;;;;;;;;:29;;;12856:86;;;;;;;;;;;;;;;;;;;;;;;;12655:294;;;;:::o;3722:59::-;;;;;;;;;;;;;;;;;:::o;56:44:1:-;;;;;;;;;;;;;;;;;:::o;10145:768:17:-;10371:7;10460:20;10555:19;10424:1;10399:9;:22;10409:11;10399:22;;;;;;;;;;;;:26;10391:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10510:11;10523:10;10535:8;10493:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;10493:51:17;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10493:51:17;;;10483:62;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;10483:62:17;;;;;;;;;;;;;;;;10460:85;;10604:12;10618:10;10630:7;10639:10;10651:5;10587:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10587:70:17;;;10577:81;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;10577:81:17;;;;;;;;;;;;;;;;10555:103;;10669:72;10682:11;10695:12;10709:10;10721:7;10730:10;10669:12;:72::i;:::-;10819:12;10756:121;;;10784:10;10756:121;;10771:11;10756:121;;;;10796:11;10809:8;10833:10;10845:7;10854:10;10866:5;10873:3;10756:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10756:121:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10895:11;10888:18;;10145:768;;;;;;;;;;:::o;13440:410::-;13540:11;4387:18;4571:17;4243:1;4210:9;:22;4220:11;4210:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:34;;;4202:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4287:9;:22;4297:11;4287:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;4286:46;4278:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4408:9;:22;4418:11;4408:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;4387:55;;726:1;4460:25;;:11;:25;;;:54;;;;4510:3;4489:25;;:11;:25;;;4460:54;4452:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4591:9;:22;4601:11;4591:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;4571:53;;4656:1;4642:10;:15;;;:44;;;;4682:3;4661:25;;:10;:25;;;;4642:44;4634:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13576:11;5647:1;5635:9;:13;5627:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:34;5739:1;5707:9;:22;5717:11;5707:22;;;;;;;;;;;;;;;;;:27;;;:31;;:34;;;;:::i;:::-;5693:9;:49;;5685:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13632:11;13645:12;5929:1;5914:12;:16;5910:132;;;5985:12;5954:9;:22;5964:11;5954:22;;;;;;;;;;;;;;;;;:27;;;:43;;5946:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:132;13690:70;13710:11;13723:6;13731:10;13743:9;13754:5;13690:19;:70::i;:::-;13770:73;13791:11;13804:6;13812:9;:22;13822:11;13812:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;13770:20;:73::i;:::-;5799:1;;4731;13440:410;;;;;;:::o;24515:275::-;24583:4;24599:18;24620:9;:22;24630:11;24620:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;24599:55;;24674:9;:22;24684:11;24674:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;24673:46;:76;;;;;726:1;24724:24;;:11;:24;;;24673:76;:108;;;;;24776:3;24754:26;;:11;:26;;;;24673:108;24664:119;;24515:275;;;;:::o;38894:138::-;38964:7;38990:9;:22;39000:11;38990:22;;;;;;;;;;;;;;;;;:35;;;38983:42;;38894:138;;;:::o;3667:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7617:348::-;7697:7;7716:10;7729:14;;7716:27;;7769:12;7753:9;:13;7763:2;7753:13;;;;;;;;;;;:28;;;;7840:7;7823:25;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;7823:25:17;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7823:25:17;;;7813:36;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;7813:36:17;;;;;;;;;;;;;;;;7791:15;:19;7807:2;7791:19;;;;;;;;;;;:58;;;;;;;7883:10;7864:39;;7879:2;7864:39;7895:7;7864:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7864:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7930:9;7937:1;7930:2;:6;;:9;;;;:::i;:::-;7913:14;:26;;;;7956:2;7949:9;;7617:348;;;;:::o;38574:136::-;38643:7;38669:9;:22;38679:11;38669:22;;;;;;;;;;;;;;;;;:34;;;38662:41;;38574:136;;;:::o;38012:151::-;38088:4;38111:9;:22;38121:11;38111:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;38104:52;;38012:151;;;:::o;3562:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;37225:133::-;37293:6;37318:9;:22;37328:11;37318:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;37311:40;;37225:133;;;:::o;37485:128::-;37551:6;37576:9;:22;37586:11;37576:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;37569:37;;37485:128;;;:::o;8839:424::-;9101:7;9120:19;9142:23;9157:7;9142:14;:23::i;:::-;9120:45;;9182:74;9194:11;9207:8;9217:10;9229:7;9238:10;9250:5;9182:11;:74::i;:::-;9175:81;;8839:424;;;;;;;;;:::o;25005:176::-;25114:7;25074:11;5493:24;5505:11;5493;:24::i;:::-;5485:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25140:9;:22;25150:11;25140:22;;;;;;;;;;;;;;;;;:34;;;25133:41;;25005:176;;;;:::o;37752:135::-;37821:6;37846:9;:22;37856:11;37846:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;37839:41;;37752:135;;;:::o;3456:44::-;;;;;;;;;;;;;;;;;:::o;25383:171::-;25487:7;25447:11;5493:24;5505:11;5493;:24::i;:::-;5485:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25513:9;:22;25523:11;25513:22;;;;;;;;;;;;;;;;;:34;;;25506:41;;25383:171;;;;:::o;23257:1079::-;23479:18;23668:13;23500:157;23528:9;:22;23538:11;23528:22;;;;;;;;;;;;;;;;;:35;;;23565:17;23584:28;23614:9;:22;23624:11;23614:22;;;;;;;;;;;;;;;;;:27;;;23643:13;23500:27;:157::i;:::-;23479:178;;23883:13;:71;;;;;23901:11;:41;23913:28;23901:41;;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;23900:54;23883:71;23879:389;;;24039:3;23978:65;;:11;:41;23990:28;23978:41;;;;;;;;;;;;;;;;;:51;;;;;;;;;;;;:65;;;23970:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24125:14;24117:22;;23879:389;;;24217:6;24179:44;;;:9;:22;24189:11;24179:22;;;;;;;;;;;;;;;;;:34;;;:44;;;;24178:79;;24243:14;24178:79;;;24227:13;24178:79;24170:87;;23879:389;24277:52;24302:11;24315:6;24323:5;24277:24;:52::i;:::-;23257:1079;;;;;;;;:::o;16479:600::-;16764:21;16862:16;16613:11;4387:18;4571:17;4243:1;4210:9;:22;4220:11;4210:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:34;;;4202:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4287:9;:22;4297:11;4287:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;4286:46;4278:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4408:9;:22;4418:11;4408:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;4387:55;;726:1;4460:25;;:11;:25;;;:54;;;;4510:3;4489:25;;:11;:25;;;4460:54;4452:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4591:9;:22;4601:11;4591:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;4571:53;;4656:1;4642:10;:15;;;:44;;;;4682:3;4661:25;;:10;:25;;;;4642:44;4634:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16649:11;5647:1;5635:9;:13;5627:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:34;5739:1;5707:9;:22;5717:11;5707:22;;;;;;;;;;;;;;;;;:27;;;:31;;:34;;;;:::i;:::-;5693:9;:49;;5685:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16705:11;16718:12;5929:1;5914:12;:16;5910:132;;;5985:12;5954:9;:22;5964:11;5954:22;;;;;;;;;;;;;;;;;:27;;;:43;;5946:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:132;16815:11;16828;16841:9;16798:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16798:53:17;;;16788:64;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;16788:64:17;;;;;;;;;;;;;;;;16764:88;;478:1;16882:25;;:9;:25;;;16881:52;;16924:9;16881:52;;;16911:10;16881:52;16862:71;;16943:44;16960:11;16973:13;16943:16;:44::i;:::-;16997:74;17017:11;17030:13;17045:8;17055:9;17066:4;16997:19;:74::i;:::-;5799:1;;4731;16479:600;;;;;;;;;:::o;21102:355::-;21174:11;3866:9;:22;3876:11;3866:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;3852:47;;:10;:47;;;3844:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21219:11;4817:9;:22;4827:11;4817:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;4809:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21303:5;21255:9;:22;21265:11;21255:22;;;;;;;;;;;;;;;;;:45;;;:53;;;;;;;;;;;;;;;;;;21355:47;21371:9;:22;21381:11;21371:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;21362:3;21355:15;;;;:47;;;;:::i;:::-;21318:9;:22;21328:11;21318:22;;;;;;;;;;;;;;;;;:34;;;:84;;;;;;;;;;;;;;;;;;21438:11;21417:33;;;;;;;;;;;;;3943:1;21102:355;;:::o;20367:506::-;20489:11;3866:9;:22;3876:11;3866:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;3852:47;;:10;:47;;;3844:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20520:11;4387:18;4571:17;4243:1;4210:9;:22;4220:11;4210:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:34;;;4202:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4287:9;:22;4297:11;4287:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;4286:46;4278:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4408:9;:22;4418:11;4408:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;4387:55;;726:1;4460:25;;:11;:25;;;:54;;;;4510:3;4489:25;;:11;:25;;;4460:54;4452:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4591:9;:22;4601:11;4591:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;4571:53;;4656:1;4642:10;:15;;;:44;;;;4682:3;4661:25;;:10;:25;;;;4642:44;4634:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20576:11;20589:12;5929:1;5914:12;:16;5910:132;;;5985:12;5954:9;:22;5964:11;5954:22;;;;;;;;;;;;;;;;;:27;;;:43;;5946:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:132;20664:1;20634:9;:22;20644:11;20634:22;;;;;;;;;;;;;;;;;:27;;;:31;20626:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20794:4;20746:9;:22;20756:11;20746:22;;;;;;;;;;;;;;;;;:45;;;:52;;;;;;;;;;;;;;;;;;20856:9;20813:53;;20843:11;20813:53;;;;;;;;;;;;;4731:1;;3943;;;20367:506;;;;:::o;22053:498::-;22166:11;3866:9;:22;3876:11;3866:22;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;3852:47;;:10;:47;;;3844:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22211:11;4817:9;:22;4827:11;4817:22;;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;4809:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;478:1;22254:24;;:8;:24;;;;22246:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22348:6;22323:32;;;22335:11;22323:32;;;;;;;;;;;;;22414:5;22366:9;:22;22376:11;22366:22;;;;;;;;;;;;;;;;;:45;;;:53;;;;;;;;;;;;;;;;;;22429:60;22449:11;22462:6;22470:8;22480:1;22483:5;22429:19;:60::i;:::-;22499:44;22520:11;22533:6;22541:1;22499:20;:44::i;:::-;3943:1;22053:498;;;;:::o;31638:549::-;31817:4;31885:12;31899:6;31907:4;31913;31919;31868:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;31868:56:17;;;31858:67;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;31858:67:17;;;;;;;;;;;;;;;;31837:88;;;:17;:88;;;;31833:131;;;31949:4;31942:11;;;;31833:131;32025:12;32039:6;32047:4;32053;32059:5;32008:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;32008:57:17;;;31998:68;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;31998:68:17;;;;;;;;;;;;;;;;31977:89;;;:17;:89;;;;31973:133;;;32090:5;32083:12;;;;31973:133;32116:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31638:549;;;;;;;;:::o;719:129:15:-;777:7;792:9;808:1;804;:5;792:17;;827:1;822;:6;;815:14;;;;;;842:1;835:8;;719:129;;;;;:::o;32193:2411:17:-;32419:7;32428;32665:21;34143:27;32636:13;32632:482;;;32689:6;32665:30;;32811:11;:26;32823:13;32811:26;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;32810:39;32806:298;;;32876:11;:26;32888:13;32876:26;;;;;;;;;;;;;;;;;;32869:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32928:12;32942:5;32920:28;;;;;;32806:298;32996:11;:26;33008:13;32996:26;;;;;;;;;;;;;;;;;:42;;;32987:51;;33063:11;:26;33075:13;33063:26;;;;;;;;;;;;;;;;;;33056:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32632:482;33138:11;33128:21;;;:6;:21;;;;33124:1434;;;478:1;33170:21;;:5;:21;;;33166:1381;;;33348:4;33340:12;;33385:47;33402:9;:22;33412:11;33402:22;;;;;;;;;;;;;;;;;:29;;;33385:12;:16;;:47;;;;:::i;:::-;33370:62;;33482:1;33450:9;:22;33460:11;33450:22;;;;;;;;;;;;;;;;;:29;;:33;;;;33166:1381;;;33517:5;33509:13;;:4;:13;;;;33505:1042;;;34190:4;34174:12;:20;;34173:44;;34205:12;34173:44;;;34198:4;34173:44;34143:74;;34299:68;34309:11;34322:5;34329:37;34346:19;34329:12;:16;;:37;;;;:::i;:::-;34299:9;:68::i;:::-;34475:4;34467:12;;34512:19;34497:34;;33505:1042;33166:1381;33124:1434;34576:12;34590:5;34568:28;;;;32193:2411;;;;;;;;;;;;;;:::o;605:110:15:-;663:7;690:1;685;:6;;678:14;;;;;;709:1;705;:5;698:12;;605:110;;;;:::o;31435:197:17:-;31548:27;31569:5;31548:9;:16;31558:5;31548:16;;;;;;;;;;;;;;;;:20;;:27;;;;:::i;:::-;31529:9;:16;31539:5;31529:16;;;;;;;;;;;;;;;:46;;;;31612:5;31590:35;;31599:11;31590:35;;;;31619:5;31590:35;;;;;;;;;;;;;;;;;;31435:197;;;:::o;159:173:15:-;217:7;272:9;241:1;236;:6;232:35;;;259:1;252:8;;;;232:35;288:1;284;:5;272:17;;311:1;306;302;:5;;;;;;;;:10;295:18;;;;;;326:1;319:8;;159:173;;;;;;:::o;18965:678:17:-;19129:24;19183:9;:22;19193:11;19183:22;;;;;;;;;;;;;;;;;:35;;;19220:23;19245:4;19251:8;19261:13;19166:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;19166:109:17;;;19156:120;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;;;19156:120:17;;;;;;;;;;;;;;;;19129:147;;19391:1;19384:4;:8;19380:73;;;19438:4;19408:9;:22;19418:11;19408:22;;;;;;;;;;;;;;;;;:27;;:34;;;;19380:73;19500:16;19462:9;:22;19472:11;19462:22;;;;;;;;;;;;;;;;;:35;;:54;;;;;;;19601:8;19532:104;;19570:11;19532:104;;;;19545:23;19583:16;19611:4;19617:3;19622:13;19532:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18965:678;;;;;;:::o;19649:237::-;19797:6;19760:9;:22;19770:11;19760:22;;;;;;;;;;;;;;;;;:34;;:43;;;;;;;19850:29;19866:12;19857:3;19850:15;;;;:29;;;;:::i;:::-;19813:9;:22;19823:11;19813:22;;;;;;;;;;;;;;;;;:34;;;:66;;;;;;;;;;;;;;;;;;19649:237;;;:::o;10919:1487::-;11390:14;11848:20;11064:11;4099:1;4065:9;:22;4075:11;4065:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:35;;;4057:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11201:1;11191:7;:11;;;11183:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11260:8;11250:7;:18;;;11242:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;478:1;11326:26;;:10;:26;;;;11318:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11407:9;11390:26;;11822:10;11808:24;;:10;:24;;;;11804:324;;;11871:24;:36;11896:10;11871:36;;;;;;;;;;;;;;;;11848:59;;11939:12;11929:6;:22;;11921:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12016:24;12027:12;12016:6;:10;;:24;;;;:::i;:::-;12007:33;;12078:39;12104:12;12078:9;:21;12088:10;12078:21;;;;;;;;;;;;;;;;:25;;:39;;;;:::i;:::-;12054:9;:21;12064:10;12054:21;;;;;;;;;;;;;;;:63;;;;11804:324;12176:12;12138:9;:22;12148:11;12138:22;;;;;;;;;;;;;;;;;:35;;:50;;;;;;;12234:10;12198:9;:22;12208:11;12198:22;;;;;;;;;;;;;;;;;:33;;;:46;;;;;;;;;;;;;;;;;;12290:10;12254:9;:22;12264:11;12254:22;;;;;;;;;;;;;;;;;:33;;;:46;;;;;;;;;;;;;;;;;;12343:7;12310:9;:22;12320:11;12310:22;;;;;;;;;;;;;;;;;:30;;;:40;;;;;;;;;;;;;;;;;;12392:6;12360:9;:22;12370:11;12360:22;;;;;;;;;;;;;;;;;:29;;:38;;;;10919:1487;;;;;;;;:::o;15148:394::-;15366:25;863:1;15254:11;:26;15266:13;15254:26;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;:63;;;15246:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;991:1;15394:57;;:9;:22;15404:11;15394:22;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;:57;;;;;;;;;;15366:85;;15500:35;15516:18;15507:3;15500:15;;;;:35;;;;:::i;:::-;15461:11;:26;15473:13;15461:26;;;;;;;;;;;;;;;;;:36;;;:74;;;;;;;;;;;;;;;;;;15148:394;;;:::o;255:125:16:-;311:6;325:8;340:1;336;:5;325:16;;359:1;354:6;;:1;:6;;;;347:14;;;;;;374:1;367:8;;255:125;;;;;:::o",
  "source": "pragma solidity ^0.4.25;\n\nimport './RealitioSafeMath256.sol';\nimport './RealitioSafeMath32.sol';\nimport './BalanceHolder.sol';\n\n// Next version of Realitio v2, will be deployed on xdai, may be deployed to other networks in future\n// API-compatible with Realitio v2, address will be stored in Realitio.json\ncontract Realitio_v2_1 is BalanceHolder {\n\n    using RealitioSafeMath256 for uint256;\n    using RealitioSafeMath32 for uint32;\n\n    address constant NULL_ADDRESS = address(0);\n\n    // History hash when no history is created, or history has been cleared\n    bytes32 constant NULL_HASH = bytes32(0);\n\n    // An unitinalized finalize_ts for a question will indicate an unanswered question.\n    uint32 constant UNANSWERED = 0;\n\n    // An unanswered reveal_ts for a commitment will indicate that it does not exist.\n    uint256 constant COMMITMENT_NON_EXISTENT = 0;\n\n    // Commit->reveal timeout is 1/8 of the question timeout (rounded down).\n    uint32 constant COMMITMENT_TIMEOUT_RATIO = 8;\n\n    // Proportion withheld when you claim an earlier bond.\n    uint256 constant BOND_CLAIM_FEE_PROPORTION = 40; // One 40th ie 2.5%\n\n    event LogSetQuestionFee(\n        address arbitrator,\n        uint256 amount\n    );\n\n    event LogNewTemplate(\n        uint256 indexed template_id,\n        address indexed user, \n        string question_text\n    );\n\n    event LogNewQuestion(\n        bytes32 indexed question_id,\n        address indexed user, \n        uint256 template_id,\n        string question,\n        bytes32 indexed content_hash,\n        address arbitrator, \n        uint32 timeout,\n        uint32 opening_ts,\n        uint256 nonce,\n        uint256 created\n    );\n\n    event LogFundAnswerBounty(\n        bytes32 indexed question_id,\n        uint256 bounty_added,\n        uint256 bounty,\n        address indexed user \n    );\n\n    event LogNewAnswer(\n        bytes32 answer,\n        bytes32 indexed question_id,\n        bytes32 history_hash,\n        address indexed user,\n        uint256 bond,\n        uint256 ts,\n        bool is_commitment\n    );\n\n    event LogAnswerReveal(\n        bytes32 indexed question_id, \n        address indexed user, \n        bytes32 indexed answer_hash, \n        bytes32 answer, \n        uint256 nonce, \n        uint256 bond\n    );\n\n    event LogNotifyOfArbitrationRequest(\n        bytes32 indexed question_id,\n        address indexed user \n    );\n\n    event LogCancelArbitration(\n        bytes32 indexed question_id\n    );\n\n    event LogFinalize(\n        bytes32 indexed question_id,\n        bytes32 indexed answer\n    );\n\n    event LogClaim(\n        bytes32 indexed question_id,\n        address indexed user,\n        uint256 amount\n    );\n\n    struct Question {\n        bytes32 content_hash;\n        address arbitrator;\n        uint32 opening_ts;\n        uint32 timeout;\n        uint32 finalize_ts;\n        bool is_pending_arbitration;\n        uint256 bounty;\n        bytes32 best_answer;\n        bytes32 history_hash;\n        uint256 bond;\n    }\n\n    // Stored in a mapping indexed by commitment_id, a hash of commitment hash, question, bond. \n    struct Commitment {\n        uint32 reveal_ts;\n        bool is_revealed;\n        bytes32 revealed_answer;\n    }\n\n    // Only used when claiming more bonds than fits into a transaction\n    // Stored in a mapping indexed by question_id.\n    struct Claim {\n        address payee;\n        uint256 last_bond;\n        uint256 queued_funds;\n    }\n\n    uint256 nextTemplateID = 0;\n    mapping(uint256 => uint256) public templates;\n    mapping(uint256 => bytes32) public template_hashes;\n    mapping(bytes32 => Question) public questions;\n    mapping(bytes32 => Claim) public question_claims;\n    mapping(bytes32 => Commitment) public commitments;\n    mapping(address => uint256) public arbitrator_question_fees; \n\n    modifier onlyArbitrator(bytes32 question_id) {\n        require(msg.sender == questions[question_id].arbitrator, \"msg.sender must be arbitrator\");\n        _;\n    }\n\n    modifier stateAny() {\n        _;\n    }\n\n    modifier stateNotCreated(bytes32 question_id) {\n        require(questions[question_id].timeout == 0, \"question must not exist\");\n        _;\n    }\n\n    modifier stateOpen(bytes32 question_id) {\n        require(questions[question_id].timeout > 0, \"question must exist\");\n        require(!questions[question_id].is_pending_arbitration, \"question must not be pending arbitration\");\n        uint32 finalize_ts = questions[question_id].finalize_ts;\n        require(finalize_ts == UNANSWERED || finalize_ts > uint32(now), \"finalization deadline must not have passed\");\n        uint32 opening_ts = questions[question_id].opening_ts;\n        require(opening_ts == 0 || opening_ts <= uint32(now), \"opening date must have passed\"); \n        _;\n    }\n\n    modifier statePendingArbitration(bytes32 question_id) {\n        require(questions[question_id].is_pending_arbitration, \"question must be pending arbitration\");\n        _;\n    }\n\n    modifier stateOpenOrPendingArbitration(bytes32 question_id) {\n        require(questions[question_id].timeout > 0, \"question must exist\");\n        uint32 finalize_ts = questions[question_id].finalize_ts;\n        require(finalize_ts == UNANSWERED || finalize_ts > uint32(now), \"finalization dealine must not have passed\");\n        uint32 opening_ts = questions[question_id].opening_ts;\n        require(opening_ts == 0 || opening_ts <= uint32(now), \"opening date must have passed\"); \n        _;\n    }\n\n    modifier stateFinalized(bytes32 question_id) {\n        require(isFinalized(question_id), \"question must be finalized\");\n        _;\n    }\n\n    modifier bondMustDouble(bytes32 question_id) {\n        require(msg.value > 0, \"bond must be positive\"); \n        require(msg.value >= (questions[question_id].bond.mul(2)), \"bond must be double at least previous bond\");\n        _;\n    }\n\n    modifier previousBondMustNotBeatMaxPrevious(bytes32 question_id, uint256 max_previous) {\n        if (max_previous > 0) {\n            require(questions[question_id].bond <= max_previous, \"bond must exceed max_previous\");\n        }\n        _;\n    }\n\n    /// @notice Constructor, sets up some initial templates\n    /// @dev Creates some generalized templates for different question types used in the DApp.\n    constructor() \n    public {\n        createTemplate('{\"title\": \"%s\", \"type\": \"bool\", \"category\": \"%s\", \"lang\": \"%s\"}');\n        createTemplate('{\"title\": \"%s\", \"type\": \"uint\", \"decimals\": 18, \"category\": \"%s\", \"lang\": \"%s\"}');\n        createTemplate('{\"title\": \"%s\", \"type\": \"single-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}');\n        createTemplate('{\"title\": \"%s\", \"type\": \"multiple-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}');\n        createTemplate('{\"title\": \"%s\", \"type\": \"datetime\", \"category\": \"%s\", \"lang\": \"%s\"}');\n    }\n\n    /// @notice Function for arbitrator to set an optional per-question fee. \n    /// @dev The per-question fee, charged when a question is asked, is intended as an anti-spam measure.\n    /// @param fee The fee to be charged by the arbitrator when a question is asked\n    function setQuestionFee(uint256 fee) \n        stateAny() \n    external {\n        arbitrator_question_fees[msg.sender] = fee;\n        emit LogSetQuestionFee(msg.sender, fee);\n    }\n\n    /// @notice Create a reusable template, which should be a JSON document.\n    /// Placeholders should use gettext() syntax, eg %s.\n    /// @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n    /// @param content The template content\n    /// @return The ID of the newly-created template, which is created sequentially.\n    function createTemplate(string content) \n        stateAny()\n    public returns (uint256) {\n        uint256 id = nextTemplateID;\n        templates[id] = block.number;\n        template_hashes[id] = keccak256(abi.encodePacked(content));\n        emit LogNewTemplate(id, msg.sender, content);\n        nextTemplateID = id.add(1);\n        return id;\n    }\n\n    /// @notice Create a new reusable template and use it to ask a question\n    /// @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n    /// @param content The template content\n    /// @param question A string containing the parameters that will be passed into the template to make the question\n    /// @param arbitrator The arbitration contract that will have the final word on the answer if there is a dispute\n    /// @param timeout How long the contract should wait after the answer is changed before finalizing on that answer\n    /// @param opening_ts If set, the earliest time it should be possible to answer the question.\n    /// @param nonce A user-specified nonce used in the question ID. Change it to repeat a question.\n    /// @return The ID of the newly-created template, which is created sequentially.\n    function createTemplateAndAskQuestion(\n        string content, \n        string question, address arbitrator, uint32 timeout, uint32 opening_ts, uint256 nonce \n    ) \n        // stateNotCreated is enforced by the internal _askQuestion\n    public payable returns (bytes32) {\n        uint256 template_id = createTemplate(content);\n        return askQuestion(template_id, question, arbitrator, timeout, opening_ts, nonce);\n    }\n\n    /// @notice Ask a new question and return the ID\n    /// @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n    /// @param template_id The ID number of the template the question will use\n    /// @param question A string containing the parameters that will be passed into the template to make the question\n    /// @param arbitrator The arbitration contract that will have the final word on the answer if there is a dispute\n    /// @param timeout How long the contract should wait after the answer is changed before finalizing on that answer\n    /// @param opening_ts If set, the earliest time it should be possible to answer the question.\n    /// @param nonce A user-specified nonce used in the question ID. Change it to repeat a question.\n    /// @return The ID of the newly-created question, created deterministically.\n    function askQuestion(uint256 template_id, string question, address arbitrator, uint32 timeout, uint32 opening_ts, uint256 nonce) \n        // stateNotCreated is enforced by the internal _askQuestion\n    public payable returns (bytes32) {\n\n        require(templates[template_id] > 0, \"template must exist\");\n\n        bytes32 content_hash = keccak256(abi.encodePacked(template_id, opening_ts, question));\n        bytes32 question_id = keccak256(abi.encodePacked(content_hash, arbitrator, timeout, msg.sender, nonce));\n\n        _askQuestion(question_id, content_hash, arbitrator, timeout, opening_ts);\n        emit LogNewQuestion(question_id, msg.sender, template_id, question, content_hash, arbitrator, timeout, opening_ts, nonce, now);\n\n        return question_id;\n    }\n\n    function _askQuestion(bytes32 question_id, bytes32 content_hash, address arbitrator, uint32 timeout, uint32 opening_ts) \n        stateNotCreated(question_id)\n    internal {\n\n        // A timeout of 0 makes no sense, and we will use this to check existence\n        require(timeout > 0, \"timeout must be positive\"); \n        require(timeout < 365 days, \"timeout must be less than 365 days\"); \n        require(arbitrator != NULL_ADDRESS, \"arbitrator must be set\");\n\n        uint256 bounty = msg.value;\n\n        // The arbitrator can set a fee for asking a question. \n        // This is intended as an anti-spam defence.\n        // The fee is waived if the arbitrator is asking the question.\n        // This allows them to set an impossibly high fee and make users proxy the question through them.\n        // This would allow more sophisticated pricing, question whitelisting etc.\n        if (msg.sender != arbitrator) {\n            uint256 question_fee = arbitrator_question_fees[arbitrator];\n            require(bounty >= question_fee, \"ETH provided must cover question fee\"); \n            bounty = bounty.sub(question_fee);\n            balanceOf[arbitrator] = balanceOf[arbitrator].add(question_fee);\n        }\n\n        questions[question_id].content_hash = content_hash;\n        questions[question_id].arbitrator = arbitrator;\n        questions[question_id].opening_ts = opening_ts;\n        questions[question_id].timeout = timeout;\n        questions[question_id].bounty = bounty;\n\n    }\n\n    /// @notice Add funds to the bounty for a question\n    /// @dev Add bounty funds after the initial question creation. Can be done any time until the question is finalized.\n    /// @param question_id The ID of the question you wish to fund\n    function fundAnswerBounty(bytes32 question_id) \n        stateOpen(question_id)\n    external payable {\n        questions[question_id].bounty = questions[question_id].bounty.add(msg.value);\n        emit LogFundAnswerBounty(question_id, msg.value, questions[question_id].bounty, msg.sender);\n    }\n\n    /// @notice Submit an answer for a question.\n    /// @dev Adds the answer to the history and updates the current \"best\" answer.\n    /// May be subject to front-running attacks; Substitute submitAnswerCommitment()->submitAnswerReveal() to prevent them.\n    /// @param question_id The ID of the question\n    /// @param answer The answer, encoded into bytes32\n    /// @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n    function submitAnswer(bytes32 question_id, bytes32 answer, uint256 max_previous) \n        stateOpen(question_id)\n        bondMustDouble(question_id)\n        previousBondMustNotBeatMaxPrevious(question_id, max_previous)\n    external payable {\n        _addAnswerToHistory(question_id, answer, msg.sender, msg.value, false);\n        _updateCurrentAnswer(question_id, answer, questions[question_id].timeout);\n    }\n\n    /// @notice Submit an answer for a question, crediting it to the specified account.\n    /// @dev Adds the answer to the history and updates the current \"best\" answer.\n    /// May be subject to front-running attacks; Substitute submitAnswerCommitment()->submitAnswerReveal() to prevent them.\n    /// @param question_id The ID of the question\n    /// @param answer The answer, encoded into bytes32\n    /// @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n    /// @param answerer The account to which the answer should be credited\n    function submitAnswerFor(bytes32 question_id, bytes32 answer, uint256 max_previous, address answerer)\n        stateOpen(question_id)\n        bondMustDouble(question_id)\n        previousBondMustNotBeatMaxPrevious(question_id, max_previous)\n    external payable {\n        require(answerer != NULL_ADDRESS, \"answerer must be non-zero\");\n        _addAnswerToHistory(question_id, answer, answerer, msg.value, false);\n        _updateCurrentAnswer(question_id, answer, questions[question_id].timeout);\n    }\n\n    // @notice Verify and store a commitment, including an appropriate timeout\n    // @param question_id The ID of the question to store\n    // @param commitment The ID of the commitment\n    function _storeCommitment(bytes32 question_id, bytes32 commitment_id) \n    internal\n    {\n        require(commitments[commitment_id].reveal_ts == COMMITMENT_NON_EXISTENT, \"commitment must not already exist\");\n\n        uint32 commitment_timeout = questions[question_id].timeout / COMMITMENT_TIMEOUT_RATIO;\n        commitments[commitment_id].reveal_ts = uint32(now).add(commitment_timeout);\n    }\n\n    /// @notice Submit the hash of an answer, laying your claim to that answer if you reveal it in a subsequent transaction.\n    /// @dev Creates a hash, commitment_id, uniquely identifying this answer, to this question, with this bond.\n    /// The commitment_id is stored in the answer history where the answer would normally go.\n    /// Does not update the current best answer - this is left to the later submitAnswerReveal() transaction.\n    /// @param question_id The ID of the question\n    /// @param answer_hash The hash of your answer, plus a nonce that you will later reveal\n    /// @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n    /// @param _answerer If specified, the address to be given as the question answerer. Defaults to the sender.\n    /// @dev Specifying the answerer is useful if you want to delegate the commit-and-reveal to a third-party.\n    function submitAnswerCommitment(bytes32 question_id, bytes32 answer_hash, uint256 max_previous, address _answerer) \n        stateOpen(question_id)\n        bondMustDouble(question_id)\n        previousBondMustNotBeatMaxPrevious(question_id, max_previous)\n    external payable {\n\n        bytes32 commitment_id = keccak256(abi.encodePacked(question_id, answer_hash, msg.value));\n        address answerer = (_answerer == NULL_ADDRESS) ? msg.sender : _answerer;\n        _storeCommitment(question_id, commitment_id);\n        _addAnswerToHistory(question_id, commitment_id, answerer, msg.value, true);\n\n    }\n\n    /// @notice Submit the answer whose hash you sent in a previous submitAnswerCommitment() transaction\n    /// @dev Checks the parameters supplied recreate an existing commitment, and stores the revealed answer\n    /// Updates the current answer unless someone has since supplied a new answer with a higher bond\n    /// msg.sender is intentionally not restricted to the user who originally sent the commitment; \n    /// For example, the user may want to provide the answer+nonce to a third-party service and let them send the tx\n    /// NB If we are pending arbitration, it will be up to the arbitrator to wait and see any outstanding reveal is sent\n    /// @param question_id The ID of the question\n    /// @param answer The answer, encoded as bytes32\n    /// @param nonce The nonce that, combined with the answer, recreates the answer_hash you gave in submitAnswerCommitment()\n    /// @param bond The bond that you paid in your submitAnswerCommitment() transaction\n    function submitAnswerReveal(bytes32 question_id, bytes32 answer, uint256 nonce, uint256 bond) \n        stateOpenOrPendingArbitration(question_id)\n    external {\n\n        bytes32 answer_hash = keccak256(abi.encodePacked(answer, nonce));\n        bytes32 commitment_id = keccak256(abi.encodePacked(question_id, answer_hash, bond));\n\n        require(!commitments[commitment_id].is_revealed, \"commitment must not have been revealed yet\");\n        require(commitments[commitment_id].reveal_ts > uint32(now), \"reveal deadline must not have passed\");\n\n        commitments[commitment_id].revealed_answer = answer;\n        commitments[commitment_id].is_revealed = true;\n\n        if (bond == questions[question_id].bond) {\n            _updateCurrentAnswer(question_id, answer, questions[question_id].timeout);\n        }\n\n        emit LogAnswerReveal(question_id, msg.sender, answer_hash, answer, nonce, bond);\n\n    }\n\n    function _addAnswerToHistory(bytes32 question_id, bytes32 answer_or_commitment_id, address answerer, uint256 bond, bool is_commitment) \n    internal \n    {\n        bytes32 new_history_hash = keccak256(abi.encodePacked(questions[question_id].history_hash, answer_or_commitment_id, bond, answerer, is_commitment));\n\n        // Update the current bond level, if there's a bond (ie anything except arbitration)\n        if (bond > 0) {\n            questions[question_id].bond = bond;\n        }\n        questions[question_id].history_hash = new_history_hash;\n\n        emit LogNewAnswer(answer_or_commitment_id, question_id, new_history_hash, answerer, bond, now, is_commitment);\n    }\n\n    function _updateCurrentAnswer(bytes32 question_id, bytes32 answer, uint32 timeout_secs)\n    internal {\n        questions[question_id].best_answer = answer;\n        questions[question_id].finalize_ts = uint32(now).add(timeout_secs);\n    }\n\n    /// @notice Notify the contract that the arbitrator has been paid for a question, freezing it pending their decision.\n    /// @dev The arbitrator contract is trusted to only call this if they've been paid, and tell us who paid them.\n    /// @param question_id The ID of the question\n    /// @param requester The account that requested arbitration\n    /// @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n    function notifyOfArbitrationRequest(bytes32 question_id, address requester, uint256 max_previous) \n        onlyArbitrator(question_id)\n        stateOpen(question_id)\n        previousBondMustNotBeatMaxPrevious(question_id, max_previous)\n    external {\n        require(questions[question_id].bond > 0, \"Question must already have an answer when arbitration is requested\");\n        questions[question_id].is_pending_arbitration = true;\n        emit LogNotifyOfArbitrationRequest(question_id, requester);\n    }\n\n    /// @notice Cancel a previously-requested arbitration and extend the timeout\n    /// @dev Useful when doing arbitration across chains that can't be requested atomically\n    /// @param question_id The ID of the question\n    function cancelArbitration(bytes32 question_id) \n        onlyArbitrator(question_id)\n        statePendingArbitration(question_id)\n    external {\n        questions[question_id].is_pending_arbitration = false;\n        questions[question_id].finalize_ts = uint32(now).add(questions[question_id].timeout);\n        emit LogCancelArbitration(question_id);\n    }\n\n    /// @notice Submit the answer for a question, for use by the arbitrator.\n    /// @dev Doesn't require (or allow) a bond.\n    /// If the current final answer is correct, the account should be whoever submitted it.\n    /// If the current final answer is wrong, the account should be whoever paid for arbitration.\n    /// However, the answerer stipulations are not enforced by the contract.\n    /// @param question_id The ID of the question\n    /// @param answer The answer, encoded into bytes32\n    /// @param answerer The account credited with this answer for the purpose of bond claims\n    function submitAnswerByArbitrator(bytes32 question_id, bytes32 answer, address answerer) \n        onlyArbitrator(question_id)\n        statePendingArbitration(question_id)\n    public {\n\n        require(answerer != NULL_ADDRESS, \"answerer must be provided\");\n        emit LogFinalize(question_id, answer);\n\n        questions[question_id].is_pending_arbitration = false;\n        _addAnswerToHistory(question_id, answer, answerer, 0, false);\n        _updateCurrentAnswer(question_id, answer, 0);\n\n    }\n\n    /// @notice Submit the answer for a question, for use by the arbitrator, working out the appropriate winner based on the last answer details.\n    /// @dev Doesn't require (or allow) a bond.\n    /// @param question_id The ID of the question\n    /// @param answer The answer, encoded into bytes32\n    /// @param payee_if_wrong The account to by credited as winner if the last answer given is wrong, usually the account that paid the arbitrator\n    /// @param last_history_hash The history hash before the final one\n    /// @param last_answer_or_commitment_id The last answer given, or the commitment ID if it was a commitment.\n    /// @param last_answerer The address that supplied the last answer\n    function assignWinnerAndSubmitAnswerByArbitrator(bytes32 question_id, bytes32 answer, address payee_if_wrong, bytes32 last_history_hash, bytes32 last_answer_or_commitment_id, address last_answerer) \n    external {\n        bool is_commitment = _verifyHistoryInputOrRevert(questions[question_id].history_hash, last_history_hash, last_answer_or_commitment_id, questions[question_id].bond, last_answerer);\n\n        address payee;\n        // If the last answer is an unrevealed commit, it's always wrong.\n        // For anything else, the last answer was set as the \"best answer\" in submitAnswer or submitAnswerReveal.\n        if (is_commitment && !commitments[last_answer_or_commitment_id].is_revealed) {\n            require(commitments[last_answer_or_commitment_id].reveal_ts < uint32(now), \"You must wait for the reveal deadline before finalizing\");\n            payee = payee_if_wrong;\n        } else {\n            payee = (questions[question_id].best_answer == answer) ? last_answerer : payee_if_wrong;\n        }\n        submitAnswerByArbitrator(question_id, answer, payee);\n    }\n\n\n    /// @notice Report whether the answer to the specified question is finalized\n    /// @param question_id The ID of the question\n    /// @return Return true if finalized\n    function isFinalized(bytes32 question_id) \n    view public returns (bool) {\n        uint32 finalize_ts = questions[question_id].finalize_ts;\n        return ( !questions[question_id].is_pending_arbitration && (finalize_ts > UNANSWERED) && (finalize_ts <= uint32(now)) );\n    }\n\n    /// @notice (Deprecated) Return the final answer to the specified question, or revert if there isn't one\n    /// @param question_id The ID of the question\n    /// @return The answer formatted as a bytes32\n    function getFinalAnswer(bytes32 question_id) \n        stateFinalized(question_id)\n    external view returns (bytes32) {\n        return questions[question_id].best_answer;\n    }\n\n    /// @notice Return the final answer to the specified question, or revert if there isn't one\n    /// @param question_id The ID of the question\n    /// @return The answer formatted as a bytes32\n    function resultFor(bytes32 question_id) \n        stateFinalized(question_id)\n    external view returns (bytes32) {\n        return questions[question_id].best_answer;\n    }\n\n\n    /// @notice Return the final answer to the specified question, provided it matches the specified criteria.\n    /// @dev Reverts if the question is not finalized, or if it does not match the specified criteria.\n    /// @param question_id The ID of the question\n    /// @param content_hash The hash of the question content (template ID + opening time + question parameter string)\n    /// @param arbitrator The arbitrator chosen for the question (regardless of whether they are asked to arbitrate)\n    /// @param min_timeout The timeout set in the initial question settings must be this high or higher\n    /// @param min_bond The bond sent with the final answer must be this high or higher\n    /// @return The answer formatted as a bytes32\n    function getFinalAnswerIfMatches(\n        bytes32 question_id, \n        bytes32 content_hash, address arbitrator, uint32 min_timeout, uint256 min_bond\n    ) \n        stateFinalized(question_id)\n    external view returns (bytes32) {\n        require(content_hash == questions[question_id].content_hash, \"content hash must match\");\n        require(arbitrator == questions[question_id].arbitrator, \"arbitrator must match\");\n        require(min_timeout <= questions[question_id].timeout, \"timeout must be long enough\");\n        require(min_bond <= questions[question_id].bond, \"bond must be high enough\");\n        return questions[question_id].best_answer;\n    }\n\n    /// @notice Assigns the winnings (bounty and bonds) to everyone who gave the accepted answer\n    /// Caller must provide the answer history, in reverse order\n    /// @dev Works up the chain and assign bonds to the person who gave the right answer\n    /// If someone gave the winning answer earlier, they must get paid from the higher bond\n    /// That means we can't pay out the bond added at n until we have looked at n-1\n    /// The first answer is authenticated by checking against the stored history_hash.\n    /// One of the inputs to history_hash is the history_hash before it, so we use that to authenticate the next entry, etc\n    /// Once we get to a null hash we'll know we're done and there are no more answers.\n    /// Usually you would call the whole thing in a single transaction, but if not then the data is persisted to pick up later.\n    /// @param question_id The ID of the question\n    /// @param history_hashes Second-last-to-first, the hash of each history entry. (Final one should be empty).\n    /// @param addrs Last-to-first, the address of each answerer or commitment sender\n    /// @param bonds Last-to-first, the bond supplied with each answer or commitment\n    /// @param answers Last-to-first, each answer supplied, or commitment ID if the answer was supplied with commit->reveal\n    function claimWinnings(\n        bytes32 question_id, \n        bytes32[] history_hashes, address[] addrs, uint256[] bonds, bytes32[] answers\n    ) \n        stateFinalized(question_id)\n    public {\n\n        require(history_hashes.length > 0, \"at least one history hash entry must be provided\");\n\n        // These are only set if we split our claim over multiple transactions.\n        address payee = question_claims[question_id].payee; \n        uint256 last_bond = question_claims[question_id].last_bond; \n        uint256 queued_funds = question_claims[question_id].queued_funds; \n\n        // Starts as the hash of the final answer submitted. It'll be cleared when we're done.\n        // If we're splitting the claim over multiple transactions, it'll be the hash where we left off last time\n        bytes32 last_history_hash = questions[question_id].history_hash;\n\n        bytes32 best_answer = questions[question_id].best_answer;\n\n        uint256 i;\n        for (i = 0; i < history_hashes.length; i++) {\n        \n            // Check input against the history hash, and see which of 2 possible values of is_commitment fits.\n            bool is_commitment = _verifyHistoryInputOrRevert(last_history_hash, history_hashes[i], answers[i], bonds[i], addrs[i]);\n            \n            queued_funds = queued_funds.add(last_bond); \n            (queued_funds, payee) = _processHistoryItem(\n                question_id, best_answer, queued_funds, payee, \n                addrs[i], bonds[i], answers[i], is_commitment);\n \n            // Line the bond up for next time, when it will be added to somebody's queued_funds\n            last_bond = bonds[i];\n\n            // Burn (just leave in contract balance) a fraction of all bonds except the final one.\n            // This creates a cost to increasing your own bond, which could be used to delay resolution maliciously\n            if (last_bond != questions[question_id].bond) {\n                last_bond = last_bond.sub(last_bond / BOND_CLAIM_FEE_PROPORTION);\n            }\n\n            last_history_hash = history_hashes[i];\n\n        }\n \n        if (last_history_hash != NULL_HASH) {\n            // We haven't yet got to the null hash (1st answer), ie the caller didn't supply the full answer chain.\n            // Persist the details so we can pick up later where we left off later.\n\n            // If we know who to pay we can go ahead and pay them out, only keeping back last_bond\n            // (We always know who to pay unless all we saw were unrevealed commits)\n            if (payee != NULL_ADDRESS) {\n                _payPayee(question_id, payee, queued_funds);\n                queued_funds = 0;\n            }\n\n            question_claims[question_id].payee = payee;\n            question_claims[question_id].last_bond = last_bond;\n            question_claims[question_id].queued_funds = queued_funds;\n        } else {\n            // There is nothing left below us so the payee can keep what remains\n            _payPayee(question_id, payee, queued_funds.add(last_bond));\n            delete question_claims[question_id];\n        }\n\n        questions[question_id].history_hash = last_history_hash;\n\n    }\n\n    function _payPayee(bytes32 question_id, address payee, uint256 value) \n    internal {\n        balanceOf[payee] = balanceOf[payee].add(value);\n        emit LogClaim(question_id, payee, value);\n    }\n\n    function _verifyHistoryInputOrRevert(\n        bytes32 last_history_hash,\n        bytes32 history_hash, bytes32 answer, uint256 bond, address addr\n    )\n    internal pure returns (bool) {\n        if (last_history_hash == keccak256(abi.encodePacked(history_hash, answer, bond, addr, true)) ) {\n            return true;\n        }\n        if (last_history_hash == keccak256(abi.encodePacked(history_hash, answer, bond, addr, false)) ) {\n            return false;\n        } \n        revert(\"History input provided did not match the expected hash\");\n    }\n\n    function _processHistoryItem(\n        bytes32 question_id, bytes32 best_answer, \n        uint256 queued_funds, address payee, \n        address addr, uint256 bond, bytes32 answer, bool is_commitment\n    )\n    internal returns (uint256, address) {\n\n        // For commit-and-reveal, the answer history holds the commitment ID instead of the answer.\n        // We look at the referenced commitment ID and switch in the actual answer.\n        if (is_commitment) {\n            bytes32 commitment_id = answer;\n            // If it's a commit but it hasn't been revealed, it will always be considered wrong.\n            if (!commitments[commitment_id].is_revealed) {\n                delete commitments[commitment_id];\n                return (queued_funds, payee);\n            } else {\n                answer = commitments[commitment_id].revealed_answer;\n                delete commitments[commitment_id];\n            }\n        }\n\n        if (answer == best_answer) {\n\n            if (payee == NULL_ADDRESS) {\n\n                // The entry is for the first payee we come to, ie the winner.\n                // They get the question bounty.\n                payee = addr;\n                queued_funds = queued_funds.add(questions[question_id].bounty);\n                questions[question_id].bounty = 0;\n\n            } else if (addr != payee) {\n\n                // Answerer has changed, ie we found someone lower down who needs to be paid\n\n                // The lower answerer will take over receiving bonds from higher answerer.\n                // They should also be paid the takeover fee, which is set at a rate equivalent to their bond. \n                // (This is our arbitrary rule, to give consistent right-answerers a defence against high-rollers.)\n\n                // There should be enough for the fee, but if not, take what we have.\n                // There's an edge case involving weird arbitrator behaviour where we may be short.\n                uint256 answer_takeover_fee = (queued_funds >= bond) ? bond : queued_funds;\n                // Settle up with the old (higher-bonded) payee\n                _payPayee(question_id, payee, queued_funds.sub(answer_takeover_fee));\n\n                // Now start queued_funds again for the new (lower-bonded) payee\n                payee = addr;\n                queued_funds = answer_takeover_fee;\n\n            }\n\n        }\n\n        return (queued_funds, payee);\n\n    }\n\n    /// @notice Convenience function to assign bounties/bonds for multiple questions in one go, then withdraw all your funds.\n    /// Caller must provide the answer history for each question, in reverse order\n    /// @dev Can be called by anyone to assign bonds/bounties, but funds are only withdrawn for the user making the call.\n    /// @param question_ids The IDs of the questions you want to claim for\n    /// @param lengths The number of history entries you will supply for each question ID\n    /// @param hist_hashes In a single list for all supplied questions, the hash of each history entry.\n    /// @param addrs In a single list for all supplied questions, the address of each answerer or commitment sender\n    /// @param bonds In a single list for all supplied questions, the bond supplied with each answer or commitment\n    /// @param answers In a single list for all supplied questions, each answer supplied, or commitment ID \n    function claimMultipleAndWithdrawBalance(\n        bytes32[] question_ids, uint256[] lengths, \n        bytes32[] hist_hashes, address[] addrs, uint256[] bonds, bytes32[] answers\n    ) \n        stateAny() // The finalization checks are done in the claimWinnings function\n    public {\n        \n        uint256 qi;\n        uint256 i;\n        for (qi = 0; qi < question_ids.length; qi++) {\n            bytes32 qid = question_ids[qi];\n            uint256 ln = lengths[qi];\n            bytes32[] memory hh = new bytes32[](ln);\n            address[] memory ad = new address[](ln);\n            uint256[] memory bo = new uint256[](ln);\n            bytes32[] memory an = new bytes32[](ln);\n            uint256 j;\n            for (j = 0; j < ln; j++) {\n                hh[j] = hist_hashes[i];\n                ad[j] = addrs[i];\n                bo[j] = bonds[i];\n                an[j] = answers[i];\n                i++;\n            }\n            claimWinnings(qid, hh, ad, bo, an);\n        }\n        withdraw();\n    }\n\n    /// @notice Returns the questions's content hash, identifying the question content\n    /// @param question_id The ID of the question \n    function getContentHash(bytes32 question_id) \n    public view returns(bytes32) {\n        return questions[question_id].content_hash;\n    }\n\n    /// @notice Returns the arbitrator address for the question\n    /// @param question_id The ID of the question \n    function getArbitrator(bytes32 question_id) \n    public view returns(address) {\n        return questions[question_id].arbitrator;\n    }\n\n    /// @notice Returns the timestamp when the question can first be answered\n    /// @param question_id The ID of the question \n    function getOpeningTS(bytes32 question_id) \n    public view returns(uint32) {\n        return questions[question_id].opening_ts;\n    }\n\n    /// @notice Returns the timeout in seconds used after each answer\n    /// @param question_id The ID of the question \n    function getTimeout(bytes32 question_id) \n    public view returns(uint32) {\n        return questions[question_id].timeout;\n    }\n\n    /// @notice Returns the timestamp at which the question will be/was finalized\n    /// @param question_id The ID of the question \n    function getFinalizeTS(bytes32 question_id) \n    public view returns(uint32) {\n        return questions[question_id].finalize_ts;\n    }\n\n    /// @notice Returns whether the question is pending arbitration\n    /// @param question_id The ID of the question \n    function isPendingArbitration(bytes32 question_id) \n    public view returns(bool) {\n        return questions[question_id].is_pending_arbitration;\n    }\n\n    /// @notice Returns the current total unclaimed bounty\n    /// @dev Set back to zero once the bounty has been claimed\n    /// @param question_id The ID of the question \n    function getBounty(bytes32 question_id) \n    public view returns(uint256) {\n        return questions[question_id].bounty;\n    }\n\n    /// @notice Returns the current best answer\n    /// @param question_id The ID of the question \n    function getBestAnswer(bytes32 question_id) \n    public view returns(bytes32) {\n        return questions[question_id].best_answer;\n    }\n\n    /// @notice Returns the history hash of the question \n    /// @param question_id The ID of the question \n    /// @dev Updated on each answer, then rewound as each is claimed\n    function getHistoryHash(bytes32 question_id) \n    public view returns(bytes32) {\n        return questions[question_id].history_hash;\n    }\n\n    /// @notice Returns the highest bond posted so far for a question\n    /// @param question_id The ID of the question \n    function getBond(bytes32 question_id) \n    public view returns(uint256) {\n        return questions[question_id].bond;\n    }\n\n}\n",
  "sourcePath": "/home/ed/working/realitio-contracts/truffle/contracts/Realitio_v2_1.sol",
  "ast": {
    "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/Realitio_v2_1.sol",
    "exportedSymbols": {
      "Realitio_v2_1": [
        9301
      ]
    },
    "id": 9302,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 7097,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:17"
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/RealitioSafeMath256.sol",
        "file": "./RealitioSafeMath256.sol",
        "id": 7098,
        "nodeType": "ImportDirective",
        "scope": 9302,
        "sourceUnit": 7069,
        "src": "26:35:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/RealitioSafeMath32.sol",
        "file": "./RealitioSafeMath32.sol",
        "id": 7099,
        "nodeType": "ImportDirective",
        "scope": 9302,
        "sourceUnit": 7096,
        "src": "62:34:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/BalanceHolder.sol",
        "file": "./BalanceHolder.sol",
        "id": 7100,
        "nodeType": "ImportDirective",
        "scope": 9302,
        "sourceUnit": 436,
        "src": "97:29:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 7101,
              "name": "BalanceHolder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 435,
              "src": "332:13:17",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BalanceHolder_$435",
                "typeString": "contract BalanceHolder"
              }
            },
            "id": 7102,
            "nodeType": "InheritanceSpecifier",
            "src": "332:13:17"
          }
        ],
        "contractDependencies": [
          435
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 9301,
        "linearizedBaseContracts": [
          9301,
          435
        ],
        "name": "Realitio_v2_1",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 7105,
            "libraryName": {
              "contractScope": null,
              "id": 7103,
              "name": "RealitioSafeMath256",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7068,
              "src": "359:19:17",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RealitioSafeMath256_$7068",
                "typeString": "library RealitioSafeMath256"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "353:38:17",
            "typeName": {
              "id": 7104,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "383:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 7108,
            "libraryName": {
              "contractScope": null,
              "id": 7106,
              "name": "RealitioSafeMath32",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7095,
              "src": "402:18:17",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RealitioSafeMath32_$7095",
                "typeString": "library RealitioSafeMath32"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "396:36:17",
            "typeName": {
              "id": 7107,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "425:6:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            }
          },
          {
            "constant": true,
            "id": 7113,
            "name": "NULL_ADDRESS",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "438:42:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 7109,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "438:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "hexValue": "30",
                  "id": 7111,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "478:1:17",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  },
                  "value": "0"
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  }
                ],
                "id": 7110,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "470:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_address_$",
                  "typeString": "type(address)"
                },
                "typeName": "address"
              },
              "id": 7112,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "470:10:17",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7118,
            "name": "NULL_HASH",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "563:39:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 7114,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "563:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "hexValue": "30",
                  "id": 7116,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "600:1:17",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  },
                  "value": "0"
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  }
                ],
                "id": 7115,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "592:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_bytes32_$",
                  "typeString": "type(bytes32)"
                },
                "typeName": "bytes32"
              },
              "id": 7117,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "592:10:17",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7121,
            "name": "UNANSWERED",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "697:30:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 7119,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "697:6:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 7120,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "726:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7124,
            "name": "COMMITMENT_NON_EXISTENT",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "820:44:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 7122,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "820:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 7123,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "863:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7127,
            "name": "COMMITMENT_TIMEOUT_RATIO",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "948:44:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 7125,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "948:6:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "38",
              "id": 7126,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "991:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_8_by_1",
                "typeString": "int_const 8"
              },
              "value": "8"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7130,
            "name": "BOND_CLAIM_FEE_PROPORTION",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "1058:47:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 7128,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1058:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3430",
              "id": 7129,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1103:2:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_40_by_1",
                "typeString": "int_const 40"
              },
              "value": "40"
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7136,
            "name": "LogSetQuestionFee",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7135,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7132,
                  "indexed": false,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7136,
                  "src": "1165:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7131,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1165:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7134,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 7136,
                  "src": "1193:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7133,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1193:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1155:58:17"
            },
            "src": "1132:82:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7144,
            "name": "LogNewTemplate",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7143,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7138,
                  "indexed": true,
                  "name": "template_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7144,
                  "src": "1250:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7137,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1250:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7140,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7144,
                  "src": "1287:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7139,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1287:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7142,
                  "indexed": false,
                  "name": "question_text",
                  "nodeType": "VariableDeclaration",
                  "scope": 7144,
                  "src": "1318:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7141,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1318:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1240:104:17"
            },
            "src": "1220:125:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7166,
            "name": "LogNewQuestion",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7165,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7146,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1381:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7145,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1381:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7148,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1418:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7147,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1418:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7150,
                  "indexed": false,
                  "name": "template_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1449:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7149,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1449:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7152,
                  "indexed": false,
                  "name": "question",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1478:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7151,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1478:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7154,
                  "indexed": true,
                  "name": "content_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1503:28:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7153,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1503:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7156,
                  "indexed": false,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1541:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7155,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1541:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7158,
                  "indexed": false,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1570:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7157,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1570:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7160,
                  "indexed": false,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1594:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7159,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1594:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7162,
                  "indexed": false,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1621:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7161,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1621:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7164,
                  "indexed": false,
                  "name": "created",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1644:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7163,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1644:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1371:294:17"
            },
            "src": "1351:315:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7176,
            "name": "LogFundAnswerBounty",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7168,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1707:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7167,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1707:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7170,
                  "indexed": false,
                  "name": "bounty_added",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1744:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7169,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1744:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7172,
                  "indexed": false,
                  "name": "bounty",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1774:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7171,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1774:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7174,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1798:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7173,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1798:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1697:128:17"
            },
            "src": "1672:154:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7192,
            "name": "LogNewAnswer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7191,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7178,
                  "indexed": false,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1860:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7177,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1860:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7180,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1884:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7179,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1884:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7182,
                  "indexed": false,
                  "name": "history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1921:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7181,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1921:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7184,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1951:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7183,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1951:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7186,
                  "indexed": false,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1981:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7185,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1981:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7188,
                  "indexed": false,
                  "name": "ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "2003:10:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7187,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2003:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7190,
                  "indexed": false,
                  "name": "is_commitment",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "2023:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7189,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2023:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1850:197:17"
            },
            "src": "1832:216:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7206,
            "name": "LogAnswerReveal",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7205,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7194,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2085:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7193,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2085:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7196,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2123:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7195,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2123:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7198,
                  "indexed": true,
                  "name": "answer_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2154:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7197,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2154:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7200,
                  "indexed": false,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2192:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7199,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2192:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7202,
                  "indexed": false,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2217:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7201,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2217:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7204,
                  "indexed": false,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2241:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7203,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2241:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2075:184:17"
            },
            "src": "2054:206:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7212,
            "name": "LogNotifyOfArbitrationRequest",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7211,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7208,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7212,
                  "src": "2311:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7207,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2311:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7210,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7212,
                  "src": "2348:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7209,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2348:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2301:74:17"
            },
            "src": "2266:110:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7216,
            "name": "LogCancelArbitration",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7215,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7214,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7216,
                  "src": "2418:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7213,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2418:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2408:43:17"
            },
            "src": "2382:70:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7222,
            "name": "LogFinalize",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7221,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7218,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7222,
                  "src": "2485:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7217,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2485:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7220,
                  "indexed": true,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7222,
                  "src": "2522:22:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7219,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2522:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2475:75:17"
            },
            "src": "2458:93:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7230,
            "name": "LogClaim",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7229,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7224,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7230,
                  "src": "2581:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7223,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2581:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7226,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7230,
                  "src": "2618:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7225,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2618:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7228,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 7230,
                  "src": "2648:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7227,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2648:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2571:97:17"
            },
            "src": "2557:112:17"
          },
          {
            "canonicalName": "Realitio_v2_1.Question",
            "id": 7251,
            "members": [
              {
                "constant": false,
                "id": 7232,
                "name": "content_hash",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2701:20:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7231,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2701:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7234,
                "name": "arbitrator",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2731:18:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 7233,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2731:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7236,
                "name": "opening_ts",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2759:17:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7235,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2759:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7238,
                "name": "timeout",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2786:14:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7237,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2786:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7240,
                "name": "finalize_ts",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2810:18:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7239,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2810:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7242,
                "name": "is_pending_arbitration",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2838:27:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 7241,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "2838:4:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7244,
                "name": "bounty",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2875:14:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7243,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2875:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7246,
                "name": "best_answer",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2899:19:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7245,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2899:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7248,
                "name": "history_hash",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2928:20:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7247,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2928:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7250,
                "name": "bond",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2958:12:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7249,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2958:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Question",
            "nodeType": "StructDefinition",
            "scope": 9301,
            "src": "2675:302:17",
            "visibility": "public"
          },
          {
            "canonicalName": "Realitio_v2_1.Commitment",
            "id": 7258,
            "members": [
              {
                "constant": false,
                "id": 7253,
                "name": "reveal_ts",
                "nodeType": "VariableDeclaration",
                "scope": 7258,
                "src": "3108:16:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7252,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3108:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7255,
                "name": "is_revealed",
                "nodeType": "VariableDeclaration",
                "scope": 7258,
                "src": "3134:16:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 7254,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "3134:4:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7257,
                "name": "revealed_answer",
                "nodeType": "VariableDeclaration",
                "scope": 7258,
                "src": "3160:23:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7256,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3160:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Commitment",
            "nodeType": "StructDefinition",
            "scope": 9301,
            "src": "3080:110:17",
            "visibility": "public"
          },
          {
            "canonicalName": "Realitio_v2_1.Claim",
            "id": 7265,
            "members": [
              {
                "constant": false,
                "id": 7260,
                "name": "payee",
                "nodeType": "VariableDeclaration",
                "scope": 7265,
                "src": "3341:13:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 7259,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3341:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7262,
                "name": "last_bond",
                "nodeType": "VariableDeclaration",
                "scope": 7265,
                "src": "3364:17:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7261,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3364:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7264,
                "name": "queued_funds",
                "nodeType": "VariableDeclaration",
                "scope": 7265,
                "src": "3391:20:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7263,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3391:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Claim",
            "nodeType": "StructDefinition",
            "scope": 9301,
            "src": "3318:100:17",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7268,
            "name": "nextTemplateID",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3424:26:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 7266,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "3424:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 7267,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3449:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 7272,
            "name": "templates",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3456:44:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
              "typeString": "mapping(uint256 => uint256)"
            },
            "typeName": {
              "id": 7271,
              "keyType": {
                "id": 7269,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3464:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "3456:27:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
                "typeString": "mapping(uint256 => uint256)"
              },
              "valueType": {
                "id": 7270,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3475:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7276,
            "name": "template_hashes",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3506:50:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$",
              "typeString": "mapping(uint256 => bytes32)"
            },
            "typeName": {
              "id": 7275,
              "keyType": {
                "id": 7273,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3514:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "3506:27:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$",
                "typeString": "mapping(uint256 => bytes32)"
              },
              "valueType": {
                "id": 7274,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3525:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7280,
            "name": "questions",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3562:45:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question)"
            },
            "typeName": {
              "id": 7279,
              "keyType": {
                "id": 7277,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3570:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "3562:28:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question)"
              },
              "valueType": {
                "contractScope": null,
                "id": 7278,
                "name": "Question",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 7251,
                "src": "3581:8:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Question_$7251_storage_ptr",
                  "typeString": "struct Realitio_v2_1.Question"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7284,
            "name": "question_claims",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3613:48:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim)"
            },
            "typeName": {
              "id": 7283,
              "keyType": {
                "id": 7281,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3621:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "3613:25:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim)"
              },
              "valueType": {
                "contractScope": null,
                "id": 7282,
                "name": "Claim",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 7265,
                "src": "3632:5:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Claim_$7265_storage_ptr",
                  "typeString": "struct Realitio_v2_1.Claim"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7288,
            "name": "commitments",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3667:49:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment)"
            },
            "typeName": {
              "id": 7287,
              "keyType": {
                "id": 7285,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3675:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "3667:30:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment)"
              },
              "valueType": {
                "contractScope": null,
                "id": 7286,
                "name": "Commitment",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 7258,
                "src": "3686:10:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Commitment_$7258_storage_ptr",
                  "typeString": "struct Realitio_v2_1.Commitment"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7292,
            "name": "arbitrator_question_fees",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3722:59:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 7291,
              "keyType": {
                "id": 7289,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "3730:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "3722:27:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 7290,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3741:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7308,
              "nodeType": "Block",
              "src": "3834:117:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 7303,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7297,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "3852:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7298,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3852:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7299,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "3866:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7301,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7300,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7294,
                              "src": "3876:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3866:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7302,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "arbitrator",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7234,
                          "src": "3866:33:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "3852:47:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6d73672e73656e646572206d7573742062652061726269747261746f72",
                        "id": 7304,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3901:31:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5af564fa249397c704c7c39694db25de233707a7dfa60dd4e063a5865f683bf0",
                          "typeString": "literal_string \"msg.sender must be arbitrator\""
                        },
                        "value": "msg.sender must be arbitrator"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5af564fa249397c704c7c39694db25de233707a7dfa60dd4e063a5865f683bf0",
                          "typeString": "literal_string \"msg.sender must be arbitrator\""
                        }
                      ],
                      "id": 7296,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "3844:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3844:89:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7306,
                  "nodeType": "ExpressionStatement",
                  "src": "3844:89:17"
                },
                {
                  "id": 7307,
                  "nodeType": "PlaceholderStatement",
                  "src": "3943:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7309,
            "name": "onlyArbitrator",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7295,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7294,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7309,
                  "src": "3813:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7293,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3813:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3812:21:17"
            },
            "src": "3789:162:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7312,
              "nodeType": "Block",
              "src": "3977:18:17",
              "statements": [
                {
                  "id": 7311,
                  "nodeType": "PlaceholderStatement",
                  "src": "3987:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7313,
            "name": "stateAny",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7310,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3974:2:17"
            },
            "src": "3957:38:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7328,
              "nodeType": "Block",
              "src": "4047:99:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7323,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7318,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "4065:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7320,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7319,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7315,
                              "src": "4075:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4065:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7321,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "4065:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7322,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4099:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4065:35:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206e6f74206578697374",
                        "id": 7324,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4102:25:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9422abd8923f5fcae9417fb15deac6177aedec6abb4620f33db030efb4ed0419",
                          "typeString": "literal_string \"question must not exist\""
                        },
                        "value": "question must not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9422abd8923f5fcae9417fb15deac6177aedec6abb4620f33db030efb4ed0419",
                          "typeString": "literal_string \"question must not exist\""
                        }
                      ],
                      "id": 7317,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4057:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7325,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4057:71:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7326,
                  "nodeType": "ExpressionStatement",
                  "src": "4057:71:17"
                },
                {
                  "id": 7327,
                  "nodeType": "PlaceholderStatement",
                  "src": "4138:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7329,
            "name": "stateNotCreated",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7315,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7329,
                  "src": "4026:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7314,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4026:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4025:21:17"
            },
            "src": "4001:145:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7393,
              "nodeType": "Block",
              "src": "4192:547:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7339,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7334,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "4210:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7336,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7335,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7331,
                              "src": "4220:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4210:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7337,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "4210:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7338,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4243:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4210:34:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206578697374",
                        "id": 7340,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4246:21:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        },
                        "value": "question must exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        }
                      ],
                      "id": 7333,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4202:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7341,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4202:66:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7342,
                  "nodeType": "ExpressionStatement",
                  "src": "4202:66:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7348,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "4286:46:17",
                        "subExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7344,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "4287:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7346,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7345,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7331,
                              "src": "4297:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4287:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7347,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "is_pending_arbitration",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7242,
                          "src": "4287:45:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206e6f742062652070656e64696e67206172626974726174696f6e",
                        "id": 7349,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4334:42:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e0d7c56d5455922671038afc010672319828847765f75d021ca63b233340fb79",
                          "typeString": "literal_string \"question must not be pending arbitration\""
                        },
                        "value": "question must not be pending arbitration"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e0d7c56d5455922671038afc010672319828847765f75d021ca63b233340fb79",
                          "typeString": "literal_string \"question must not be pending arbitration\""
                        }
                      ],
                      "id": 7343,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4278:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7350,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4278:99:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7351,
                  "nodeType": "ExpressionStatement",
                  "src": "4278:99:17"
                },
                {
                  "assignments": [
                    7353
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7353,
                      "name": "finalize_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7394,
                      "src": "4387:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7352,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4387:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7358,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7354,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "4408:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7356,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7355,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7331,
                        "src": "4418:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4408:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7357,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "4408:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4387:55:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7368,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7362,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7360,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7353,
                            "src": "4460:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 7361,
                            "name": "UNANSWERED",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7121,
                            "src": "4475:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "4460:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7367,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7363,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7353,
                            "src": "4489:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7365,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "4510:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7364,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4503:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7366,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4503:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "4489:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4460:54:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206861766520706173736564",
                        "id": 7369,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4516:44:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_381ca4d13deaf278dc64e461f023657740bec9f7b7a71cf63c10807ee5f2d777",
                          "typeString": "literal_string \"finalization deadline must not have passed\""
                        },
                        "value": "finalization deadline must not have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_381ca4d13deaf278dc64e461f023657740bec9f7b7a71cf63c10807ee5f2d777",
                          "typeString": "literal_string \"finalization deadline must not have passed\""
                        }
                      ],
                      "id": 7359,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4452:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7370,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4452:109:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7371,
                  "nodeType": "ExpressionStatement",
                  "src": "4452:109:17"
                },
                {
                  "assignments": [
                    7373
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7373,
                      "name": "opening_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7394,
                      "src": "4571:17:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7372,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4571:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7378,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7374,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "4591:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7376,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7375,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7331,
                        "src": "4601:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4591:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7377,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "opening_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7236,
                    "src": "4591:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4571:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7388,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7382,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7380,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7373,
                            "src": "4642:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 7381,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4656:1:17",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4642:15:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7387,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7383,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7373,
                            "src": "4661:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7385,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "4682:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7384,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4675:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7386,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4675:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "4661:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4642:44:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6f70656e696e672064617465206d757374206861766520706173736564",
                        "id": 7389,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4688:31:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        },
                        "value": "opening date must have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        }
                      ],
                      "id": 7379,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4634:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7390,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4634:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7391,
                  "nodeType": "ExpressionStatement",
                  "src": "4634:86:17"
                },
                {
                  "id": 7392,
                  "nodeType": "PlaceholderStatement",
                  "src": "4731:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7394,
            "name": "stateOpen",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7332,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7331,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7394,
                  "src": "4171:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7330,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4171:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4170:21:17"
            },
            "src": "4152:587:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7407,
              "nodeType": "Block",
              "src": "4799:122:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7399,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "4817:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7401,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7400,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7396,
                            "src": "4827:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "4817:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7402,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "is_pending_arbitration",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7242,
                        "src": "4817:45:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d7573742062652070656e64696e67206172626974726174696f6e",
                        "id": 7403,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4864:38:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_4f7d8d6d43d9c6b0643db0ab03bfd160dd192eaa68b6c3b38d0d94803ffac248",
                          "typeString": "literal_string \"question must be pending arbitration\""
                        },
                        "value": "question must be pending arbitration"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_4f7d8d6d43d9c6b0643db0ab03bfd160dd192eaa68b6c3b38d0d94803ffac248",
                          "typeString": "literal_string \"question must be pending arbitration\""
                        }
                      ],
                      "id": 7398,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4809:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7404,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4809:94:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7405,
                  "nodeType": "ExpressionStatement",
                  "src": "4809:94:17"
                },
                {
                  "id": 7406,
                  "nodeType": "PlaceholderStatement",
                  "src": "4913:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7408,
            "name": "statePendingArbitration",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7397,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7396,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7408,
                  "src": "4778:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7395,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4778:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4777:21:17"
            },
            "src": "4745:176:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7463,
              "nodeType": "Block",
              "src": "4987:437:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7418,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7413,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "5005:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7415,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7414,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7410,
                              "src": "5015:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5005:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7416,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "5005:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7417,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5038:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5005:34:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206578697374",
                        "id": 7419,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5041:21:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        },
                        "value": "question must exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        }
                      ],
                      "id": 7412,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4997:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7420,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4997:66:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7421,
                  "nodeType": "ExpressionStatement",
                  "src": "4997:66:17"
                },
                {
                  "assignments": [
                    7423
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7423,
                      "name": "finalize_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7464,
                      "src": "5073:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7422,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "5073:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7428,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7424,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "5094:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7426,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7425,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7410,
                        "src": "5104:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5094:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7427,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "5094:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5073:55:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7438,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7432,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7430,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7423,
                            "src": "5146:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 7431,
                            "name": "UNANSWERED",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7121,
                            "src": "5161:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "5146:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7437,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7433,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7423,
                            "src": "5175:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7435,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "5196:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7434,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5189:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7436,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5189:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "5175:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5146:54:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66696e616c697a6174696f6e206465616c696e65206d757374206e6f74206861766520706173736564",
                        "id": 7439,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5202:43:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_8f540895d8d15453e87897307cb8351f2857abfee4e235e10c3b3c286692a622",
                          "typeString": "literal_string \"finalization dealine must not have passed\""
                        },
                        "value": "finalization dealine must not have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_8f540895d8d15453e87897307cb8351f2857abfee4e235e10c3b3c286692a622",
                          "typeString": "literal_string \"finalization dealine must not have passed\""
                        }
                      ],
                      "id": 7429,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5138:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7440,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5138:108:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7441,
                  "nodeType": "ExpressionStatement",
                  "src": "5138:108:17"
                },
                {
                  "assignments": [
                    7443
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7443,
                      "name": "opening_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7464,
                      "src": "5256:17:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7442,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "5256:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7448,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7444,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "5276:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7446,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7445,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7410,
                        "src": "5286:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5276:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7447,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "opening_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7236,
                    "src": "5276:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5256:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7458,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7452,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7450,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7443,
                            "src": "5327:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 7451,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5341:1:17",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5327:15:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7457,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7453,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7443,
                            "src": "5346:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7455,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "5367:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7454,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5360:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7456,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5360:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "5346:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5327:44:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6f70656e696e672064617465206d757374206861766520706173736564",
                        "id": 7459,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5373:31:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        },
                        "value": "opening date must have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        }
                      ],
                      "id": 7449,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5319:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7460,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5319:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7461,
                  "nodeType": "ExpressionStatement",
                  "src": "5319:86:17"
                },
                {
                  "id": 7462,
                  "nodeType": "PlaceholderStatement",
                  "src": "5416:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7464,
            "name": "stateOpenOrPendingArbitration",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7411,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7410,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7464,
                  "src": "4966:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7409,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4966:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4965:21:17"
            },
            "src": "4927:497:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7476,
              "nodeType": "Block",
              "src": "5475:91:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7470,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7466,
                            "src": "5505:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 7469,
                          "name": "isFinalized",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8494,
                          "src": "5493:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 7471,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5493:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d7573742062652066696e616c697a6564",
                        "id": 7472,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5519:28:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7678ea862d4110864dbd24145ec43051bb85f78d8eeb3bbb14a3533dd60847c8",
                          "typeString": "literal_string \"question must be finalized\""
                        },
                        "value": "question must be finalized"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7678ea862d4110864dbd24145ec43051bb85f78d8eeb3bbb14a3533dd60847c8",
                          "typeString": "literal_string \"question must be finalized\""
                        }
                      ],
                      "id": 7468,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5485:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7473,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5485:63:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7474,
                  "nodeType": "ExpressionStatement",
                  "src": "5485:63:17"
                },
                {
                  "id": 7475,
                  "nodeType": "PlaceholderStatement",
                  "src": "5558:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7477,
            "name": "stateFinalized",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7467,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7466,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7477,
                  "src": "5454:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7465,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5454:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5453:21:17"
            },
            "src": "5430:136:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7505,
              "nodeType": "Block",
              "src": "5617:190:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7485,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7482,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "5635:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5635:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7484,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5647:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5635:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "626f6e64206d75737420626520706f736974697665",
                        "id": 7486,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5650:23:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b3c9ee472042e2067e6f11b009a7238c6ed21a4872f0b12d2abbe4092d3c0b88",
                          "typeString": "literal_string \"bond must be positive\""
                        },
                        "value": "bond must be positive"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b3c9ee472042e2067e6f11b009a7238c6ed21a4872f0b12d2abbe4092d3c0b88",
                          "typeString": "literal_string \"bond must be positive\""
                        }
                      ],
                      "id": 7481,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5627:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7487,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5627:47:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7488,
                  "nodeType": "ExpressionStatement",
                  "src": "5627:47:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7500,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7490,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "5693:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7491,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5693:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "hexValue": "32",
                                  "id": 7497,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5739:1:17",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  },
                                  "value": "2"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 7492,
                                      "name": "questions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7280,
                                      "src": "5707:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                        "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                      }
                                    },
                                    "id": 7494,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 7493,
                                      "name": "question_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7479,
                                      "src": "5717:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5707:22:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Question_$7251_storage",
                                      "typeString": "struct Realitio_v2_1.Question storage ref"
                                    }
                                  },
                                  "id": 7495,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "bond",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 7250,
                                  "src": "5707:27:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 7496,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "mul",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7005,
                                "src": "5707:31:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 7498,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5707:34:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 7499,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "5706:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5693:49:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "626f6e64206d75737420626520646f75626c65206174206c656173742070726576696f757320626f6e64",
                        "id": 7501,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5744:44:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_65ffa1219e4f08f995c93eadfebcd61b4db428d3222f9b65896f079b3b960d3d",
                          "typeString": "literal_string \"bond must be double at least previous bond\""
                        },
                        "value": "bond must be double at least previous bond"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_65ffa1219e4f08f995c93eadfebcd61b4db428d3222f9b65896f079b3b960d3d",
                          "typeString": "literal_string \"bond must be double at least previous bond\""
                        }
                      ],
                      "id": 7489,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5685:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7502,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5685:104:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7503,
                  "nodeType": "ExpressionStatement",
                  "src": "5685:104:17"
                },
                {
                  "id": 7504,
                  "nodeType": "PlaceholderStatement",
                  "src": "5799:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7506,
            "name": "bondMustDouble",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7479,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7506,
                  "src": "5596:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7478,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5596:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5595:21:17"
            },
            "src": "5572:235:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7528,
              "nodeType": "Block",
              "src": "5900:159:17",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7514,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7512,
                      "name": "max_previous",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7510,
                      "src": "5914:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7513,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5929:1:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5914:16:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7526,
                  "nodeType": "IfStatement",
                  "src": "5910:132:17",
                  "trueBody": {
                    "id": 7525,
                    "nodeType": "Block",
                    "src": "5932:110:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 7521,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 7516,
                                    "name": "questions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7280,
                                    "src": "5954:9:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                    }
                                  },
                                  "id": 7518,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 7517,
                                    "name": "question_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7508,
                                    "src": "5964:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "5954:22:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Question_$7251_storage",
                                    "typeString": "struct Realitio_v2_1.Question storage ref"
                                  }
                                },
                                "id": 7519,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "bond",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7250,
                                "src": "5954:27:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 7520,
                                "name": "max_previous",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7510,
                                "src": "5985:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "5954:43:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "626f6e64206d75737420657863656564206d61785f70726576696f7573",
                              "id": 7522,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5999:31:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_86da50f4411a4001f63186489f5e9177ab1df516512e13b6a709fd5c2385c100",
                                "typeString": "literal_string \"bond must exceed max_previous\""
                              },
                              "value": "bond must exceed max_previous"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_86da50f4411a4001f63186489f5e9177ab1df516512e13b6a709fd5c2385c100",
                                "typeString": "literal_string \"bond must exceed max_previous\""
                              }
                            ],
                            "id": 7515,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9706,
                              9707
                            ],
                            "referencedDeclaration": 9707,
                            "src": "5946:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 7523,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5946:85:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7524,
                        "nodeType": "ExpressionStatement",
                        "src": "5946:85:17"
                      }
                    ]
                  }
                },
                {
                  "id": 7527,
                  "nodeType": "PlaceholderStatement",
                  "src": "6051:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7529,
            "name": "previousBondMustNotBeatMaxPrevious",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7511,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7508,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7529,
                  "src": "5857:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7507,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5857:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7510,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 7529,
                  "src": "5878:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7509,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5878:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5856:43:17"
            },
            "src": "5813:246:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7552,
              "nodeType": "Block",
              "src": "6246:538:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a2022626f6f6c222c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7533,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6271:65:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2630d91f54445fa42ec6738610b1a4c52b08a197156ab2ed97e4e17201528f2f",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"bool\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"bool\", \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_2630d91f54445fa42ec6738610b1a4c52b08a197156ab2ed97e4e17201528f2f",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"bool\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7532,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6256:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7534,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6256:81:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7535,
                  "nodeType": "ExpressionStatement",
                  "src": "6256:81:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a202275696e74222c2022646563696d616c73223a2031382c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7537,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6362:81:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f006792a99a5de2495a30060356c53fdfd8cd04c53ad3402c5353035dc6b9589",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"uint\", \"decimals\": 18, \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"uint\", \"decimals\": 18, \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_f006792a99a5de2495a30060356c53fdfd8cd04c53ad3402c5353035dc6b9589",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"uint\", \"decimals\": 18, \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7536,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6347:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7538,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6347:97:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7539,
                  "nodeType": "ExpressionStatement",
                  "src": "6347:97:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a202273696e676c652d73656c656374222c20226f7574636f6d6573223a205b25735d2c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7541,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6469:92:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e49d22c3fb3eac70dc2d9d76aa17b7e4b487f2f4b7c683f3705b638453520000",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"single-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"single-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_e49d22c3fb3eac70dc2d9d76aa17b7e4b487f2f4b7c683f3705b638453520000",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"single-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7540,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6454:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7542,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6454:108:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7543,
                  "nodeType": "ExpressionStatement",
                  "src": "6454:108:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a20226d756c7469706c652d73656c656374222c20226f7574636f6d6573223a205b25735d2c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7545,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6587:94:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1d41a41b7d3550c01209c10495988bfa01dd2e86c5a3fae5f9dbc2ccde20c1a9",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"multiple-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"multiple-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_1d41a41b7d3550c01209c10495988bfa01dd2e86c5a3fae5f9dbc2ccde20c1a9",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"multiple-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7544,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6572:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7546,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6572:110:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7547,
                  "nodeType": "ExpressionStatement",
                  "src": "6572:110:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a20226461746574696d65222c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7549,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6707:69:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5b13a2ad9e4dfbf057ecf2c35d4152b61718a3ab46a14db63feb17b1515749ba",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"datetime\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"datetime\", \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_5b13a2ad9e4dfbf057ecf2c35d4152b61718a3ab46a14db63feb17b1515749ba",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"datetime\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7548,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6692:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7550,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6692:85:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7551,
                  "nodeType": "ExpressionStatement",
                  "src": "6692:85:17"
                }
              ]
            },
            "documentation": "@notice Constructor, sets up some initial templates\n @dev Creates some generalized templates for different question types used in the DApp.",
            "id": 7553,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7530,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6231:2:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7531,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6246:0:17"
            },
            "scope": 9301,
            "src": "6220:564:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7573,
              "nodeType": "Block",
              "src": "7129:108:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7565,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7560,
                        "name": "arbitrator_question_fees",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7292,
                        "src": "7139:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 7563,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7561,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "7164:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7562,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "7164:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "7139:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7564,
                      "name": "fee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7555,
                      "src": "7178:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7139:42:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7566,
                  "nodeType": "ExpressionStatement",
                  "src": "7139:42:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7568,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "7214:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7569,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "7214:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7570,
                        "name": "fee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7555,
                        "src": "7226:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 7567,
                      "name": "LogSetQuestionFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7136,
                      "src": "7196:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 7571,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7196:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7572,
                  "nodeType": "EmitStatement",
                  "src": "7191:39:17"
                }
              ]
            },
            "documentation": "@notice Function for arbitrator to set an optional per-question fee. \n @dev The per-question fee, charged when a question is asked, is intended as an anti-spam measure.\n @param fee The fee to be charged by the arbitrator when a question is asked",
            "id": 7574,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 7558,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7557,
                  "name": "stateAny",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7313,
                  "src": "7104:8:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7104:10:17"
              }
            ],
            "name": "setQuestionFee",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7556,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7555,
                  "name": "fee",
                  "nodeType": "VariableDeclaration",
                  "scope": 7574,
                  "src": "7082:11:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7554,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7082:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7081:13:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7559,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7129:0:17"
            },
            "scope": 9301,
            "src": "7058:179:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 7621,
              "nodeType": "Block",
              "src": "7706:259:17",
              "statements": [
                {
                  "assignments": [
                    7584
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7584,
                      "name": "id",
                      "nodeType": "VariableDeclaration",
                      "scope": 7622,
                      "src": "7716:10:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7583,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "7716:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7586,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 7585,
                    "name": "nextTemplateID",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7268,
                    "src": "7729:14:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7716:27:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7592,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7587,
                        "name": "templates",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7272,
                        "src": "7753:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
                          "typeString": "mapping(uint256 => uint256)"
                        }
                      },
                      "id": 7589,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7588,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7584,
                        "src": "7763:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "7753:13:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7590,
                        "name": "block",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9693,
                        "src": "7769:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_block",
                          "typeString": "block"
                        }
                      },
                      "id": 7591,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "number",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "7769:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7753:28:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7593,
                  "nodeType": "ExpressionStatement",
                  "src": "7753:28:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7603,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7594,
                        "name": "template_hashes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7276,
                        "src": "7791:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$",
                          "typeString": "mapping(uint256 => bytes32)"
                        }
                      },
                      "id": 7596,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7595,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7584,
                        "src": "7807:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "7791:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7600,
                              "name": "content",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7576,
                              "src": "7840:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 7598,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9690,
                              "src": "7823:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 7599,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "7823:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 7601,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7823:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 7597,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9697,
                        "src": "7813:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 7602,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7813:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "7791:58:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 7604,
                  "nodeType": "ExpressionStatement",
                  "src": "7791:58:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7606,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7584,
                        "src": "7879:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7607,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "7883:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7608,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "7883:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7609,
                        "name": "content",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7576,
                        "src": "7895:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 7605,
                      "name": "LogNewTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7144,
                      "src": "7864:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,address,string memory)"
                      }
                    },
                    "id": 7610,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7864:39:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7611,
                  "nodeType": "EmitStatement",
                  "src": "7859:44:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7617,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7612,
                      "name": "nextTemplateID",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7268,
                      "src": "7913:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 7615,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7937:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 7613,
                          "name": "id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7584,
                          "src": "7930:2:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7067,
                        "src": "7930:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7616,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7930:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7913:26:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7618,
                  "nodeType": "ExpressionStatement",
                  "src": "7913:26:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7619,
                    "name": "id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7584,
                    "src": "7956:2:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7582,
                  "id": 7620,
                  "nodeType": "Return",
                  "src": "7949:9:17"
                }
              ]
            },
            "documentation": "@notice Create a reusable template, which should be a JSON document.\n Placeholders should use gettext() syntax, eg %s.\n @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n @param content The template content\n @return The ID of the newly-created template, which is created sequentially.",
            "id": 7622,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 7579,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7578,
                  "name": "stateAny",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7313,
                  "src": "7666:8:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7666:10:17"
              }
            ],
            "name": "createTemplate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7576,
                  "name": "content",
                  "nodeType": "VariableDeclaration",
                  "scope": 7622,
                  "src": "7641:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7575,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7641:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7640:16:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7582,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7581,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7622,
                  "src": "7697:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7580,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7697:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7696:9:17"
            },
            "scope": 9301,
            "src": "7617:348:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7654,
              "nodeType": "Block",
              "src": "9110:153:17",
              "statements": [
                {
                  "assignments": [
                    7640
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7640,
                      "name": "template_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 7655,
                      "src": "9120:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7639,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9120:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7644,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7642,
                        "name": "content",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7624,
                        "src": "9157:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 7641,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "9142:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7643,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9142:23:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9120:45:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7646,
                        "name": "template_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7640,
                        "src": "9194:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7647,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7626,
                        "src": "9207:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7648,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7628,
                        "src": "9217:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7649,
                        "name": "timeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7630,
                        "src": "9229:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7650,
                        "name": "opening_ts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7632,
                        "src": "9238:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7651,
                        "name": "nonce",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7634,
                        "src": "9250:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "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_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 7645,
                      "name": "askQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7731,
                      "src": "9182:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_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) returns (bytes32)"
                      }
                    },
                    "id": 7652,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9182:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 7638,
                  "id": 7653,
                  "nodeType": "Return",
                  "src": "9175:81:17"
                }
              ]
            },
            "documentation": "@notice Create a new reusable template and use it to ask a question\n @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n @param content The template content\n @param question A string containing the parameters that will be passed into the template to make the question\n @param arbitrator The arbitration contract that will have the final word on the answer if there is a dispute\n @param timeout How long the contract should wait after the answer is changed before finalizing on that answer\n @param opening_ts If set, the earliest time it should be possible to answer the question.\n @param nonce A user-specified nonce used in the question ID. Change it to repeat a question.\n @return The ID of the newly-created template, which is created sequentially.",
            "id": 7655,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "createTemplateAndAskQuestion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7635,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7624,
                  "name": "content",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8886:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7623,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8886:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7626,
                  "name": "question",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8911:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7625,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8911:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7628,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8928:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7627,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8928:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7630,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8948:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7629,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8948:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7632,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8964:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7631,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8964:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7634,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8983:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7633,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8983:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8876:127:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7637,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "9101:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7636,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9101:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9100:9:17"
            },
            "scope": 9301,
            "src": "8839:424:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7730,
              "nodeType": "Block",
              "src": "10380:533:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7677,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7673,
                            "name": "templates",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7272,
                            "src": "10399:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
                              "typeString": "mapping(uint256 => uint256)"
                            }
                          },
                          "id": 7675,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7674,
                            "name": "template_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7657,
                            "src": "10409:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "10399:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7676,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10424:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "10399:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74656d706c617465206d757374206578697374",
                        "id": 7678,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10427:21:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6b763f6fbc16e7da696107f42e85f1f46703aa651f9e70e97d489e8899582b16",
                          "typeString": "literal_string \"template must exist\""
                        },
                        "value": "template must exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6b763f6fbc16e7da696107f42e85f1f46703aa651f9e70e97d489e8899582b16",
                          "typeString": "literal_string \"template must exist\""
                        }
                      ],
                      "id": 7672,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "10391:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10391:58:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7680,
                  "nodeType": "ExpressionStatement",
                  "src": "10391:58:17"
                },
                {
                  "assignments": [
                    7682
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7682,
                      "name": "content_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 7731,
                      "src": "10460:20:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 7681,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "10460:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7691,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7686,
                            "name": "template_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7657,
                            "src": "10510:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7687,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7665,
                            "src": "10523:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7688,
                            "name": "question",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7659,
                            "src": "10535:8:17",
                            "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": 7684,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "10493:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7685,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "10493:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 7689,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10493:51:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 7683,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "10483:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 7690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10483:62:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10460:85:17"
                },
                {
                  "assignments": [
                    7693
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7693,
                      "name": "question_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 7731,
                      "src": "10555:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 7692,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "10555:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7705,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7697,
                            "name": "content_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7682,
                            "src": "10604:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7698,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7661,
                            "src": "10618:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7699,
                            "name": "timeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7663,
                            "src": "10630:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 7700,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9703,
                              "src": "10639:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 7701,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "10639:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7702,
                            "name": "nonce",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7667,
                            "src": "10651:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 7695,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "10587:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7696,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "10587:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 7703,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10587:70:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 7694,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "10577:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 7704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10577:81:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10555:103:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7707,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7693,
                        "src": "10682:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7708,
                        "name": "content_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7682,
                        "src": "10695:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7709,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7661,
                        "src": "10709:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7710,
                        "name": "timeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7663,
                        "src": "10721:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7711,
                        "name": "opening_ts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7665,
                        "src": "10730:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      ],
                      "id": 7706,
                      "name": "_askQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7846,
                      "src": "10669:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint32,uint32)"
                      }
                    },
                    "id": 7712,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10669:72:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7713,
                  "nodeType": "ExpressionStatement",
                  "src": "10669:72:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7715,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7693,
                        "src": "10771:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7716,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "10784:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7717,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10784:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7718,
                        "name": "template_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7657,
                        "src": "10796:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7719,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7659,
                        "src": "10809:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7720,
                        "name": "content_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7682,
                        "src": "10819:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7721,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7661,
                        "src": "10833:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7722,
                        "name": "timeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7663,
                        "src": "10845:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7723,
                        "name": "opening_ts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7665,
                        "src": "10854:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7724,
                        "name": "nonce",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7667,
                        "src": "10866:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7725,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9705,
                        "src": "10873:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 7714,
                      "name": "LogNewQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7166,
                      "src": "10756:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256,string memory,bytes32,address,uint32,uint32,uint256,uint256)"
                      }
                    },
                    "id": 7726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10756:121:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7727,
                  "nodeType": "EmitStatement",
                  "src": "10751:126:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7728,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7693,
                    "src": "10895:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 7671,
                  "id": 7729,
                  "nodeType": "Return",
                  "src": "10888:18:17"
                }
              ]
            },
            "documentation": "@notice Ask a new question and return the ID\n @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n @param template_id The ID number of the template the question will use\n @param question A string containing the parameters that will be passed into the template to make the question\n @param arbitrator The arbitration contract that will have the final word on the answer if there is a dispute\n @param timeout How long the contract should wait after the answer is changed before finalizing on that answer\n @param opening_ts If set, the earliest time it should be possible to answer the question.\n @param nonce A user-specified nonce used in the question ID. Change it to repeat a question.\n @return The ID of the newly-created question, created deterministically.",
            "id": 7731,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "askQuestion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7668,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7657,
                  "name": "template_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10166:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7656,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10166:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7659,
                  "name": "question",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10187:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7658,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10187:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7661,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10204:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7660,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10204:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7663,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10224:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7662,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10224:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7665,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10240:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7664,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10240:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7667,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10259:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7666,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10259:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10165:108:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7671,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7670,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10371:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7669,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10371:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10370:9:17"
            },
            "scope": 9301,
            "src": "10145:768:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7845,
              "nodeType": "Block",
              "src": "11090:1316:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7750,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7748,
                          "name": "timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7739,
                          "src": "11191:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7749,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "11201:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "11191:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74696d656f7574206d75737420626520706f736974697665",
                        "id": 7751,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11204:26:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_21a6e8d6041a43652989cb6df398a64082bcb4cf008fb5cf0deefa1dfb00eaf0",
                          "typeString": "literal_string \"timeout must be positive\""
                        },
                        "value": "timeout must be positive"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_21a6e8d6041a43652989cb6df398a64082bcb4cf008fb5cf0deefa1dfb00eaf0",
                          "typeString": "literal_string \"timeout must be positive\""
                        }
                      ],
                      "id": 7747,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "11183:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7752,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11183:48:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7753,
                  "nodeType": "ExpressionStatement",
                  "src": "11183:48:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7757,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7755,
                          "name": "timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7739,
                          "src": "11250:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "333635",
                          "id": 7756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "11260:8:17",
                          "subdenomination": "days",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_31536000_by_1",
                            "typeString": "int_const 31536000"
                          },
                          "value": "365"
                        },
                        "src": "11250:18:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74696d656f7574206d757374206265206c657373207468616e203336352064617973",
                        "id": 7758,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11270:36:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d41c7cd8b163218b0d4e0b8fc4fae3eb6e53b50e3a40bd3b56ca7bc1b684a1e9",
                          "typeString": "literal_string \"timeout must be less than 365 days\""
                        },
                        "value": "timeout must be less than 365 days"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d41c7cd8b163218b0d4e0b8fc4fae3eb6e53b50e3a40bd3b56ca7bc1b684a1e9",
                          "typeString": "literal_string \"timeout must be less than 365 days\""
                        }
                      ],
                      "id": 7754,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "11242:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7759,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11242:65:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7760,
                  "nodeType": "ExpressionStatement",
                  "src": "11242:65:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 7764,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7762,
                          "name": "arbitrator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7737,
                          "src": "11326:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 7763,
                          "name": "NULL_ADDRESS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7113,
                          "src": "11340:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "11326:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206d75737420626520736574",
                        "id": 7765,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11354:24:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_41e3ac7303a8b1456ede85d1facc68e58dc10ca71a9ec24a5bab787499ac2a73",
                          "typeString": "literal_string \"arbitrator must be set\""
                        },
                        "value": "arbitrator must be set"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_41e3ac7303a8b1456ede85d1facc68e58dc10ca71a9ec24a5bab787499ac2a73",
                          "typeString": "literal_string \"arbitrator must be set\""
                        }
                      ],
                      "id": 7761,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "11318:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7766,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11318:61:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7767,
                  "nodeType": "ExpressionStatement",
                  "src": "11318:61:17"
                },
                {
                  "assignments": [
                    7769
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7769,
                      "name": "bounty",
                      "nodeType": "VariableDeclaration",
                      "scope": 7846,
                      "src": "11390:14:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7768,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "11390:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7772,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 7770,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9703,
                      "src": "11407:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 7771,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "value",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "11407:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11390:26:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7776,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7773,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9703,
                        "src": "11808:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 7774,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "11808:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7775,
                      "name": "arbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7737,
                      "src": "11822:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "11808:24:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7809,
                  "nodeType": "IfStatement",
                  "src": "11804:324:17",
                  "trueBody": {
                    "id": 7808,
                    "nodeType": "Block",
                    "src": "11834:294:17",
                    "statements": [
                      {
                        "assignments": [
                          7778
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 7778,
                            "name": "question_fee",
                            "nodeType": "VariableDeclaration",
                            "scope": 7846,
                            "src": "11848:20:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 7777,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "11848:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 7782,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7779,
                            "name": "arbitrator_question_fees",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7292,
                            "src": "11871:24:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 7781,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7780,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7737,
                            "src": "11896:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "11871:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "11848:59:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 7786,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 7784,
                                "name": "bounty",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7769,
                                "src": "11929:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 7785,
                                "name": "question_fee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7778,
                                "src": "11939:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "11929:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "4554482070726f7669646564206d75737420636f766572207175657374696f6e20666565",
                              "id": 7787,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11953:38:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f563467593cc476b2eaa9803db9a434ac560eec51474d9492a841a55aff9878c",
                                "typeString": "literal_string \"ETH provided must cover question fee\""
                              },
                              "value": "ETH provided must cover question fee"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_f563467593cc476b2eaa9803db9a434ac560eec51474d9492a841a55aff9878c",
                                "typeString": "literal_string \"ETH provided must cover question fee\""
                              }
                            ],
                            "id": 7783,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9706,
                              9707
                            ],
                            "referencedDeclaration": 9707,
                            "src": "11921:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 7788,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11921:71:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7789,
                        "nodeType": "ExpressionStatement",
                        "src": "11921:71:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7795,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7790,
                            "name": "bounty",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7769,
                            "src": "12007:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7793,
                                "name": "question_fee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7778,
                                "src": "12027:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 7791,
                                "name": "bounty",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7769,
                                "src": "12016:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7792,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sub",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7043,
                              "src": "12016:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7794,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12016:24:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "12007:33:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7796,
                        "nodeType": "ExpressionStatement",
                        "src": "12007:33:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7806,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7797,
                              "name": "balanceOf",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 396,
                              "src": "12054:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 7799,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7798,
                              "name": "arbitrator",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7737,
                              "src": "12064:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "12054:21:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7804,
                                "name": "question_fee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7778,
                                "src": "12104:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 7800,
                                  "name": "balanceOf",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 396,
                                  "src": "12078:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                    "typeString": "mapping(address => uint256)"
                                  }
                                },
                                "id": 7802,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 7801,
                                  "name": "arbitrator",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7737,
                                  "src": "12088:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "12078:21:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7803,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7067,
                              "src": "12078:25:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7805,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12078:39:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "12054:63:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7807,
                        "nodeType": "ExpressionStatement",
                        "src": "12054:63:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7815,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7810,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12138:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7812,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7811,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12148:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12138:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7813,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "content_hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7232,
                      "src": "12138:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7814,
                      "name": "content_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7735,
                      "src": "12176:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "12138:50:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 7816,
                  "nodeType": "ExpressionStatement",
                  "src": "12138:50:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7822,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7817,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12198:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7819,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7818,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12208:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12198:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7820,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "arbitrator",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7234,
                      "src": "12198:33:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7821,
                      "name": "arbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7737,
                      "src": "12234:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "12198:46:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 7823,
                  "nodeType": "ExpressionStatement",
                  "src": "12198:46:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7829,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7824,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12254:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7826,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7825,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12264:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12254:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7827,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "opening_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7236,
                      "src": "12254:33:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7828,
                      "name": "opening_ts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7741,
                      "src": "12290:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "12254:46:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 7830,
                  "nodeType": "ExpressionStatement",
                  "src": "12254:46:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7836,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7831,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12310:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7833,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7832,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12320:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12310:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7834,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeout",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7238,
                      "src": "12310:30:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7835,
                      "name": "timeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7739,
                      "src": "12343:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "12310:40:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 7837,
                  "nodeType": "ExpressionStatement",
                  "src": "12310:40:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7843,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7838,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12360:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7840,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7839,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12370:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12360:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7841,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "bounty",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7244,
                      "src": "12360:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7842,
                      "name": "bounty",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7769,
                      "src": "12392:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12360:38:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7844,
                  "nodeType": "ExpressionStatement",
                  "src": "12360:38:17"
                }
              ]
            },
            "documentation": null,
            "id": 7846,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7744,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7733,
                    "src": "11064:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7745,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7743,
                  "name": "stateNotCreated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7329,
                  "src": "11048:15:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "11048:28:17"
              }
            ],
            "name": "_askQuestion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7742,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7733,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "10941:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7732,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10941:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7735,
                  "name": "content_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "10962:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7734,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10962:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7737,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "10984:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7736,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10984:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7739,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "11004:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7738,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11004:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7741,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "11020:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7740,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11020:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10940:98:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7746,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11090:0:17"
            },
            "scope": 9301,
            "src": "10919:1487:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7880,
              "nodeType": "Block",
              "src": "12755:194:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7866,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7854,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12765:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7856,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7855,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7848,
                          "src": "12775:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12765:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7857,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "bounty",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7244,
                      "src": "12765:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7863,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "12831:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7864,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "12831:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7858,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "12797:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7860,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7859,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7848,
                              "src": "12807:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "12797:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7861,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "bounty",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7244,
                          "src": "12797:29:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7862,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7067,
                        "src": "12797:33:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7865,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12797:44:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12765:76:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7867,
                  "nodeType": "ExpressionStatement",
                  "src": "12765:76:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7869,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7848,
                        "src": "12876:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7870,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "12889:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7871,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12889:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7872,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "12900:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7874,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7873,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7848,
                            "src": "12910:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "12900:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7875,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "bounty",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7244,
                        "src": "12900:29:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7876,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "12931:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7877,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12931:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 7868,
                      "name": "LogFundAnswerBounty",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7176,
                      "src": "12856:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,uint256,uint256,address)"
                      }
                    },
                    "id": 7878,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12856:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7879,
                  "nodeType": "EmitStatement",
                  "src": "12851:91:17"
                }
              ]
            },
            "documentation": "@notice Add funds to the bounty for a question\n @dev Add bounty funds after the initial question creation. Can be done any time until the question is finalized.\n @param question_id The ID of the question you wish to fund",
            "id": 7881,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7851,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7848,
                    "src": "12721:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7852,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7850,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "12711:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "12711:22:17"
              }
            ],
            "name": "fundAnswerBounty",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7849,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7848,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7881,
                  "src": "12681:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7847,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "12681:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12680:21:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7853,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12755:0:17"
            },
            "scope": 9301,
            "src": "12655:294:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 7919,
              "nodeType": "Block",
              "src": "13680:170:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7901,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7883,
                        "src": "13710:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7902,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7885,
                        "src": "13723:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7903,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "13731:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7904,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "13731:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7905,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "13743:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7906,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "13743:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66616c7365",
                        "id": 7907,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13754:5:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 7900,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "13690:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 7908,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13690:70:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7909,
                  "nodeType": "ExpressionStatement",
                  "src": "13690:70:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7911,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7883,
                        "src": "13791:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7912,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7885,
                        "src": "13804:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7913,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "13812:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7915,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7914,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7883,
                            "src": "13822:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13812:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7916,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeout",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7238,
                        "src": "13812:30:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      ],
                      "id": 7910,
                      "name": "_updateCurrentAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8251,
                      "src": "13770:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,uint32)"
                      }
                    },
                    "id": 7917,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13770:73:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7918,
                  "nodeType": "ExpressionStatement",
                  "src": "13770:73:17"
                }
              ]
            },
            "documentation": "@notice Submit an answer for a question.\n @dev Adds the answer to the history and updates the current \"best\" answer.\n May be subject to front-running attacks; Substitute submitAnswerCommitment()->submitAnswerReveal() to prevent them.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.",
            "id": 7920,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7890,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7883,
                    "src": "13540:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7891,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7889,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "13530:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "13530:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7893,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7883,
                    "src": "13576:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7894,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7892,
                  "name": "bondMustDouble",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7506,
                  "src": "13561:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "13561:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7896,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7883,
                    "src": "13632:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7897,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7887,
                    "src": "13645:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7898,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7895,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "13597:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "13597:61:17"
              }
            ],
            "name": "submitAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7888,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7883,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7920,
                  "src": "13462:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7882,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "13462:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7885,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7920,
                  "src": "13483:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7884,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "13483:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7887,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 7920,
                  "src": "13499:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7886,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13499:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13461:59:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7899,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13680:0:17"
            },
            "scope": 9301,
            "src": "13440:410:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 7966,
              "nodeType": "Block",
              "src": "14715:240:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 7944,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7942,
                          "name": "answerer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7928,
                          "src": "14733:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 7943,
                          "name": "NULL_ADDRESS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7113,
                          "src": "14745:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "14733:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "616e737765726572206d757374206265206e6f6e2d7a65726f",
                        "id": 7945,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14759:27:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1a11019cd9d1425a5b8b53e98d98a4940adc356e8b64f2a44d399cf8bb21778b",
                          "typeString": "literal_string \"answerer must be non-zero\""
                        },
                        "value": "answerer must be non-zero"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_1a11019cd9d1425a5b8b53e98d98a4940adc356e8b64f2a44d399cf8bb21778b",
                          "typeString": "literal_string \"answerer must be non-zero\""
                        }
                      ],
                      "id": 7941,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "14725:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7946,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14725:62:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7947,
                  "nodeType": "ExpressionStatement",
                  "src": "14725:62:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7949,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7922,
                        "src": "14817:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7950,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7924,
                        "src": "14830:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7951,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7928,
                        "src": "14838:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7952,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "14848:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7953,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "14848:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66616c7365",
                        "id": 7954,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14859:5:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 7948,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "14797:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 7955,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14797:68:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7956,
                  "nodeType": "ExpressionStatement",
                  "src": "14797:68:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7958,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7922,
                        "src": "14896:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7959,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7924,
                        "src": "14909:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7960,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "14917:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7962,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7961,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7922,
                            "src": "14927:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "14917:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7963,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeout",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7238,
                        "src": "14917:30:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      ],
                      "id": 7957,
                      "name": "_updateCurrentAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8251,
                      "src": "14875:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,uint32)"
                      }
                    },
                    "id": 7964,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14875:73:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7965,
                  "nodeType": "ExpressionStatement",
                  "src": "14875:73:17"
                }
              ]
            },
            "documentation": "@notice Submit an answer for a question, crediting it to the specified account.\n @dev Adds the answer to the history and updates the current \"best\" answer.\n May be subject to front-running attacks; Substitute submitAnswerCommitment()->submitAnswerReveal() to prevent them.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n @param answerer The account to which the answer should be credited",
            "id": 7967,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7931,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7922,
                    "src": "14575:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7932,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7930,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "14565:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14565:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7934,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7922,
                    "src": "14611:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7935,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7933,
                  "name": "bondMustDouble",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7506,
                  "src": "14596:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14596:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7937,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7922,
                    "src": "14667:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7938,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7926,
                    "src": "14680:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7939,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7936,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "14632:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14632:61:17"
              }
            ],
            "name": "submitAnswerFor",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7922,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14480:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7921,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14480:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7924,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14501:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7923,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14501:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7926,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14517:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7925,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14517:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7928,
                  "name": "answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14539:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7927,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14539:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14479:77:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7940,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14715:0:17"
            },
            "scope": 9301,
            "src": "14455:500:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8005,
              "nodeType": "Block",
              "src": "15236:306:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7980,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7975,
                              "name": "commitments",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7288,
                              "src": "15254:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                              }
                            },
                            "id": 7977,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7976,
                              "name": "commitment_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7971,
                              "src": "15266:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "15254:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                              "typeString": "struct Realitio_v2_1.Commitment storage ref"
                            }
                          },
                          "id": 7978,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "reveal_ts",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7253,
                          "src": "15254:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 7979,
                          "name": "COMMITMENT_NON_EXISTENT",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7124,
                          "src": "15294:23:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "15254:63:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "636f6d6d69746d656e74206d757374206e6f7420616c7265616479206578697374",
                        "id": 7981,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15319:35:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c2878907358507a98137b5e459ef2a610f3aa0fc728f22215b4a187d8849acf0",
                          "typeString": "literal_string \"commitment must not already exist\""
                        },
                        "value": "commitment must not already exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c2878907358507a98137b5e459ef2a610f3aa0fc728f22215b4a187d8849acf0",
                          "typeString": "literal_string \"commitment must not already exist\""
                        }
                      ],
                      "id": 7974,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "15246:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7982,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15246:109:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7983,
                  "nodeType": "ExpressionStatement",
                  "src": "15246:109:17"
                },
                {
                  "assignments": [
                    7985
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7985,
                      "name": "commitment_timeout",
                      "nodeType": "VariableDeclaration",
                      "scope": 8006,
                      "src": "15366:25:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7984,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "15366:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7992,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    },
                    "id": 7991,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7986,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "15394:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7988,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7987,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7969,
                          "src": "15404:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "15394:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7989,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "timeout",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7238,
                      "src": "15394:30:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7990,
                      "name": "COMMITMENT_TIMEOUT_RATIO",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7127,
                      "src": "15427:24:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "15394:57:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15366:85:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8003,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7993,
                          "name": "commitments",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7288,
                          "src": "15461:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                          }
                        },
                        "id": 7995,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7994,
                          "name": "commitment_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7971,
                          "src": "15473:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "15461:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                          "typeString": "struct Realitio_v2_1.Commitment storage ref"
                        }
                      },
                      "id": 7996,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "reveal_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7253,
                      "src": "15461:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8001,
                          "name": "commitment_timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7985,
                          "src": "15516:18:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7998,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "15507:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 7997,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "15500:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 7999,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15500:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "id": 8000,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7094,
                        "src": "15500:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint32_$_t_uint32_$returns$_t_uint32_$bound_to$_t_uint32_$",
                          "typeString": "function (uint32,uint32) pure returns (uint32)"
                        }
                      },
                      "id": 8002,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15500:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "15461:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 8004,
                  "nodeType": "ExpressionStatement",
                  "src": "15461:74:17"
                }
              ]
            },
            "documentation": null,
            "id": 8006,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_storeCommitment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7972,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7969,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8006,
                  "src": "15174:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7968,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "15174:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7971,
                  "name": "commitment_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8006,
                  "src": "15195:21:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7970,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "15195:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15173:44:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7973,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15236:0:17"
            },
            "scope": 9301,
            "src": "15148:394:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8064,
              "nodeType": "Block",
              "src": "16753:326:17",
              "statements": [
                {
                  "assignments": [
                    8028
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8028,
                      "name": "commitment_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 8065,
                      "src": "16764:21:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8027,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "16764:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8038,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8032,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8008,
                            "src": "16815:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8033,
                            "name": "answer_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8010,
                            "src": "16828:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 8034,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9703,
                              "src": "16841:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 8035,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "value",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "16841:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8030,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "16798:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8031,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "16798:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16798:53:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8029,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "16788:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16788:64:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16764:88:17"
                },
                {
                  "assignments": [
                    8040
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8040,
                      "name": "answerer",
                      "nodeType": "VariableDeclaration",
                      "scope": 8065,
                      "src": "16862:16:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8039,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "16862:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8049,
                  "initialValue": {
                    "argumentTypes": null,
                    "condition": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 8043,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8041,
                            "name": "_answerer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8014,
                            "src": "16882:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8042,
                            "name": "NULL_ADDRESS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7113,
                            "src": "16895:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "16882:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 8044,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "16881:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "argumentTypes": null,
                      "id": 8047,
                      "name": "_answerer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8014,
                      "src": "16924:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8048,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "16881:52:17",
                    "trueExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 8045,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9703,
                        "src": "16911:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 8046,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "16911:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16862:71:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8051,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8008,
                        "src": "16960:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8052,
                        "name": "commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8028,
                        "src": "16973:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8050,
                      "name": "_storeCommitment",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8006,
                      "src": "16943:16:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32,bytes32)"
                      }
                    },
                    "id": 8053,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16943:44:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8054,
                  "nodeType": "ExpressionStatement",
                  "src": "16943:44:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8056,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8008,
                        "src": "17017:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8057,
                        "name": "commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8028,
                        "src": "17030:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8058,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8040,
                        "src": "17045:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8059,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "17055:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8060,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "17055:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 8061,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "17066:4:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8055,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "16997:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 8062,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16997:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8063,
                  "nodeType": "ExpressionStatement",
                  "src": "16997:74:17"
                }
              ]
            },
            "documentation": "@notice Submit the hash of an answer, laying your claim to that answer if you reveal it in a subsequent transaction.\n @dev Creates a hash, commitment_id, uniquely identifying this answer, to this question, with this bond.\n The commitment_id is stored in the answer history where the answer would normally go.\n Does not update the current best answer - this is left to the later submitAnswerReveal() transaction.\n @param question_id The ID of the question\n @param answer_hash The hash of your answer, plus a nonce that you will later reveal\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n @param _answerer If specified, the address to be given as the question answerer. Defaults to the sender.\n @dev Specifying the answerer is useful if you want to delegate the commit-and-reveal to a third-party.",
            "id": 8065,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8017,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8008,
                    "src": "16613:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8018,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8016,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "16603:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "16603:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8020,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8008,
                    "src": "16649:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8021,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8019,
                  "name": "bondMustDouble",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7506,
                  "src": "16634:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "16634:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8023,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8008,
                    "src": "16705:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 8024,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8012,
                    "src": "16718:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8025,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8022,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "16670:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "16670:61:17"
              }
            ],
            "name": "submitAnswerCommitment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8015,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8008,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16511:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8007,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "16511:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8010,
                  "name": "answer_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16532:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8009,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "16532:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8012,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16553:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8011,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16553:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8014,
                  "name": "_answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16575:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8013,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "16575:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16510:83:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 8026,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "16753:0:17"
            },
            "scope": 9301,
            "src": "16479:600:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8162,
              "nodeType": "Block",
              "src": "18213:746:17",
              "statements": [
                {
                  "assignments": [
                    8080
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8080,
                      "name": "answer_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 8163,
                      "src": "18224:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8079,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "18224:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8088,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8084,
                            "name": "answer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8069,
                            "src": "18273:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8085,
                            "name": "nonce",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8071,
                            "src": "18281:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8082,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "18256:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8083,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "18256:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8086,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18256:31:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8081,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "18246:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8087,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18246:42:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18224:64:17"
                },
                {
                  "assignments": [
                    8090
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8090,
                      "name": "commitment_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 8163,
                      "src": "18298:21:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8089,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "18298:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8099,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8094,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8067,
                            "src": "18349:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8095,
                            "name": "answer_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8080,
                            "src": "18362:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8096,
                            "name": "bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8073,
                            "src": "18375:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8092,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "18332:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8093,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "18332:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8097,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18332:48:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8091,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "18322:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8098,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18322:59:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18298:83:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8105,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "18400:39:17",
                        "subExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8101,
                              "name": "commitments",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7288,
                              "src": "18401:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                              }
                            },
                            "id": 8103,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8102,
                              "name": "commitment_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8090,
                              "src": "18413:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "18401:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                              "typeString": "struct Realitio_v2_1.Commitment storage ref"
                            }
                          },
                          "id": 8104,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "is_revealed",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7255,
                          "src": "18401:38:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "636f6d6d69746d656e74206d757374206e6f742068617665206265656e2072657665616c656420796574",
                        "id": 8106,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "18441:44:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6dc39b75299a8c5d94f5d4fe4d23fcb2fa3f298c414cad40577eebdbf4fb5bba",
                          "typeString": "literal_string \"commitment must not have been revealed yet\""
                        },
                        "value": "commitment must not have been revealed yet"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6dc39b75299a8c5d94f5d4fe4d23fcb2fa3f298c414cad40577eebdbf4fb5bba",
                          "typeString": "literal_string \"commitment must not have been revealed yet\""
                        }
                      ],
                      "id": 8100,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "18392:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18392:94:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8108,
                  "nodeType": "ExpressionStatement",
                  "src": "18392:94:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 8117,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8110,
                              "name": "commitments",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7288,
                              "src": "18504:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                              }
                            },
                            "id": 8112,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8111,
                              "name": "commitment_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8090,
                              "src": "18516:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "18504:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                              "typeString": "struct Realitio_v2_1.Commitment storage ref"
                            }
                          },
                          "id": 8113,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "reveal_ts",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7253,
                          "src": "18504:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8115,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "18550:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8114,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "18543:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 8116,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18543:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "src": "18504:50:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "72657665616c20646561646c696e65206d757374206e6f74206861766520706173736564",
                        "id": 8118,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "18556:38:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c0aef0f9c54528968b7d0aecff5e54568fd8cfc861f8c854eb9d7453b7f722c0",
                          "typeString": "literal_string \"reveal deadline must not have passed\""
                        },
                        "value": "reveal deadline must not have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c0aef0f9c54528968b7d0aecff5e54568fd8cfc861f8c854eb9d7453b7f722c0",
                          "typeString": "literal_string \"reveal deadline must not have passed\""
                        }
                      ],
                      "id": 8109,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "18496:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8119,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18496:99:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8120,
                  "nodeType": "ExpressionStatement",
                  "src": "18496:99:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8126,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8121,
                          "name": "commitments",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7288,
                          "src": "18606:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                          }
                        },
                        "id": 8123,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8122,
                          "name": "commitment_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8090,
                          "src": "18618:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18606:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                          "typeString": "struct Realitio_v2_1.Commitment storage ref"
                        }
                      },
                      "id": 8124,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "revealed_answer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7257,
                      "src": "18606:42:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8125,
                      "name": "answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8069,
                      "src": "18651:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "18606:51:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8127,
                  "nodeType": "ExpressionStatement",
                  "src": "18606:51:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8133,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8128,
                          "name": "commitments",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7288,
                          "src": "18667:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                          }
                        },
                        "id": 8130,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8129,
                          "name": "commitment_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8090,
                          "src": "18679:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18667:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                          "typeString": "struct Realitio_v2_1.Commitment storage ref"
                        }
                      },
                      "id": 8131,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_revealed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7255,
                      "src": "18667:38:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 8132,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "18708:4:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "18667:45:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8134,
                  "nodeType": "ExpressionStatement",
                  "src": "18667:45:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8140,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8135,
                      "name": "bond",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8073,
                      "src": "18727:4:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8136,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "18735:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8138,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8137,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8067,
                          "src": "18745:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18735:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8139,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "bond",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7250,
                      "src": "18735:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "18727:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8151,
                  "nodeType": "IfStatement",
                  "src": "18723:139:17",
                  "trueBody": {
                    "id": 8150,
                    "nodeType": "Block",
                    "src": "18764:98:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8142,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8067,
                              "src": "18799:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8143,
                              "name": "answer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8069,
                              "src": "18812:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8144,
                                  "name": "questions",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7280,
                                  "src": "18820:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                    "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                  }
                                },
                                "id": 8146,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8145,
                                  "name": "question_id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8067,
                                  "src": "18830:11:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "18820:22:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Question_$7251_storage",
                                  "typeString": "struct Realitio_v2_1.Question storage ref"
                                }
                              },
                              "id": 8147,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timeout",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7238,
                              "src": "18820:30:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            ],
                            "id": 8141,
                            "name": "_updateCurrentAnswer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8251,
                            "src": "18778:20:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                              "typeString": "function (bytes32,bytes32,uint32)"
                            }
                          },
                          "id": 8148,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18778:73:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8149,
                        "nodeType": "ExpressionStatement",
                        "src": "18778:73:17"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8153,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8067,
                        "src": "18893:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8154,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "18906:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8155,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "18906:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8156,
                        "name": "answer_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8080,
                        "src": "18918:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8157,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8069,
                        "src": "18931:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8158,
                        "name": "nonce",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8071,
                        "src": "18939:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8159,
                        "name": "bond",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8073,
                        "src": "18946:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 8152,
                      "name": "LogAnswerReveal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7206,
                      "src": "18877:15:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,bytes32,bytes32,uint256,uint256)"
                      }
                    },
                    "id": 8160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18877:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8161,
                  "nodeType": "EmitStatement",
                  "src": "18872:79:17"
                }
              ]
            },
            "documentation": "@notice Submit the answer whose hash you sent in a previous submitAnswerCommitment() transaction\n @dev Checks the parameters supplied recreate an existing commitment, and stores the revealed answer\n Updates the current answer unless someone has since supplied a new answer with a higher bond\n msg.sender is intentionally not restricted to the user who originally sent the commitment; \n For example, the user may want to provide the answer+nonce to a third-party service and let them send the tx\n NB If we are pending arbitration, it will be up to the arbitrator to wait and see any outstanding reveal is sent\n @param question_id The ID of the question\n @param answer The answer, encoded as bytes32\n @param nonce The nonce that, combined with the answer, recreates the answer_hash you gave in submitAnswerCommitment()\n @param bond The bond that you paid in your submitAnswerCommitment() transaction",
            "id": 8163,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8076,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8067,
                    "src": "18187:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8077,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8075,
                  "name": "stateOpenOrPendingArbitration",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7464,
                  "src": "18157:29:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "18157:42:17"
              }
            ],
            "name": "submitAnswerReveal",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8074,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8067,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18082:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8066,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "18082:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8069,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18103:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8068,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "18103:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8071,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18119:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8070,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "18119:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8073,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18134:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8072,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "18134:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18081:66:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8078,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "18213:0:17"
            },
            "scope": 9301,
            "src": "18054:905:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8221,
              "nodeType": "Block",
              "src": "19119:524:17",
              "statements": [
                {
                  "assignments": [
                    8177
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8177,
                      "name": "new_history_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 8222,
                      "src": "19129:24:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8176,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "19129:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8191,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8181,
                                "name": "questions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7280,
                                "src": "19183:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                }
                              },
                              "id": 8183,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8182,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8165,
                                "src": "19193:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "19183:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Question_$7251_storage",
                                "typeString": "struct Realitio_v2_1.Question storage ref"
                              }
                            },
                            "id": 8184,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "history_hash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7248,
                            "src": "19183:35:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8185,
                            "name": "answer_or_commitment_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8167,
                            "src": "19220:23:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8186,
                            "name": "bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8171,
                            "src": "19245:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8187,
                            "name": "answerer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8169,
                            "src": "19251:8:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8188,
                            "name": "is_commitment",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8173,
                            "src": "19261:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8179,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "19166:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8180,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "19166:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8189,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19166:109:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8178,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "19156:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19156:120:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "19129:147:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8194,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8192,
                      "name": "bond",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8171,
                      "src": "19384:4:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 8193,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "19391:1:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "19384:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8203,
                  "nodeType": "IfStatement",
                  "src": "19380:73:17",
                  "trueBody": {
                    "id": 8202,
                    "nodeType": "Block",
                    "src": "19394:59:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8200,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8195,
                                "name": "questions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7280,
                                "src": "19408:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                }
                              },
                              "id": 8197,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8196,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8165,
                                "src": "19418:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "19408:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Question_$7251_storage",
                                "typeString": "struct Realitio_v2_1.Question storage ref"
                              }
                            },
                            "id": 8198,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "bond",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7250,
                            "src": "19408:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8199,
                            "name": "bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8171,
                            "src": "19438:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "19408:34:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8201,
                        "nodeType": "ExpressionStatement",
                        "src": "19408:34:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8204,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "19462:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8206,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8205,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8165,
                          "src": "19472:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19462:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8207,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "history_hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7248,
                      "src": "19462:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8208,
                      "name": "new_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8177,
                      "src": "19500:16:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "19462:54:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8210,
                  "nodeType": "ExpressionStatement",
                  "src": "19462:54:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8212,
                        "name": "answer_or_commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8167,
                        "src": "19545:23:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8213,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8165,
                        "src": "19570:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8214,
                        "name": "new_history_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8177,
                        "src": "19583:16:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8215,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8169,
                        "src": "19601:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8216,
                        "name": "bond",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8171,
                        "src": "19611:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8217,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9705,
                        "src": "19617:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8218,
                        "name": "is_commitment",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8173,
                        "src": "19622:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8211,
                      "name": "LogNewAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7192,
                      "src": "19532:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,bytes32,address,uint256,uint256,bool)"
                      }
                    },
                    "id": 8219,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19532:104:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8220,
                  "nodeType": "EmitStatement",
                  "src": "19527:109:17"
                }
              ]
            },
            "documentation": null,
            "id": 8222,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_addAnswerToHistory",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8174,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8165,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "18994:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8164,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "18994:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8167,
                  "name": "answer_or_commitment_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19015:31:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8166,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19015:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8169,
                  "name": "answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19048:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8168,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19048:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8171,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19066:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8170,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19066:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8173,
                  "name": "is_commitment",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19080:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8172,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "19080:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18993:106:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8175,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "19119:0:17"
            },
            "scope": 9301,
            "src": "18965:678:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8250,
              "nodeType": "Block",
              "src": "19750:136:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8236,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8231,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "19760:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8233,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8232,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8224,
                          "src": "19770:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19760:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8234,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "best_answer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7246,
                      "src": "19760:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8235,
                      "name": "answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8226,
                      "src": "19797:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "19760:43:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8237,
                  "nodeType": "ExpressionStatement",
                  "src": "19760:43:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8248,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8238,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "19813:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8240,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8239,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8224,
                          "src": "19823:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19813:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8241,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "finalize_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7240,
                      "src": "19813:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8246,
                          "name": "timeout_secs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8228,
                          "src": "19866:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8243,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "19857:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8242,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "19850:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 8244,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "19850:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "id": 8245,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7094,
                        "src": "19850:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint32_$_t_uint32_$returns$_t_uint32_$bound_to$_t_uint32_$",
                          "typeString": "function (uint32,uint32) pure returns (uint32)"
                        }
                      },
                      "id": 8247,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "19850:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "19813:66:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 8249,
                  "nodeType": "ExpressionStatement",
                  "src": "19813:66:17"
                }
              ]
            },
            "documentation": null,
            "id": 8251,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_updateCurrentAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8229,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8224,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8251,
                  "src": "19679:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8223,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19679:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8226,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8251,
                  "src": "19700:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8225,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19700:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8228,
                  "name": "timeout_secs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8251,
                  "src": "19716:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 8227,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19716:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "19678:58:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8230,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "19750:0:17"
            },
            "scope": 9301,
            "src": "19649:237:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8292,
              "nodeType": "Block",
              "src": "20616:257:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8276,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8271,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "20634:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8273,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8272,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8253,
                              "src": "20644:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "20634:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8274,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "bond",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7250,
                          "src": "20634:27:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 8275,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "20664:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "20634:31:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5175657374696f6e206d75737420616c7265616479206861766520616e20616e73776572207768656e206172626974726174696f6e20697320726571756573746564",
                        "id": 8277,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "20667:68:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7fdaca9206a1cc3ce5480327eab94eaea78ffd196334cab0e144479eb0ad45d4",
                          "typeString": "literal_string \"Question must already have an answer when arbitration is requested\""
                        },
                        "value": "Question must already have an answer when arbitration is requested"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7fdaca9206a1cc3ce5480327eab94eaea78ffd196334cab0e144479eb0ad45d4",
                          "typeString": "literal_string \"Question must already have an answer when arbitration is requested\""
                        }
                      ],
                      "id": 8270,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "20626:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8278,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20626:110:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8279,
                  "nodeType": "ExpressionStatement",
                  "src": "20626:110:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8285,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8280,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "20746:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8282,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8281,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8253,
                          "src": "20756:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "20746:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8283,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_pending_arbitration",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7242,
                      "src": "20746:45:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 8284,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "20794:4:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "20746:52:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8286,
                  "nodeType": "ExpressionStatement",
                  "src": "20746:52:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8288,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8253,
                        "src": "20843:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8289,
                        "name": "requester",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8255,
                        "src": "20856:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 8287,
                      "name": "LogNotifyOfArbitrationRequest",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7212,
                      "src": "20813:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address)"
                      }
                    },
                    "id": 8290,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20813:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8291,
                  "nodeType": "EmitStatement",
                  "src": "20808:58:17"
                }
              ]
            },
            "documentation": "@notice Notify the contract that the arbitrator has been paid for a question, freezing it pending their decision.\n @dev The arbitrator contract is trusted to only call this if they've been paid, and tell us who paid them.\n @param question_id The ID of the question\n @param requester The account that requested arbitration\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.",
            "id": 8293,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8260,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8253,
                    "src": "20489:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8261,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8259,
                  "name": "onlyArbitrator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7309,
                  "src": "20474:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "20474:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8263,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8253,
                    "src": "20520:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8264,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8262,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "20510:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "20510:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8266,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8253,
                    "src": "20576:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 8267,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8257,
                    "src": "20589:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8268,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8265,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "20541:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "20541:61:17"
              }
            ],
            "name": "notifyOfArbitrationRequest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8258,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8253,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8293,
                  "src": "20403:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8252,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "20403:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8255,
                  "name": "requester",
                  "nodeType": "VariableDeclaration",
                  "scope": 8293,
                  "src": "20424:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8254,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20424:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8257,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 8293,
                  "src": "20443:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8256,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "20443:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "20402:62:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8269,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "20616:0:17"
            },
            "scope": 9301,
            "src": "20367:506:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8330,
              "nodeType": "Block",
              "src": "21245:212:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8309,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8304,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "21255:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8306,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8305,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8295,
                          "src": "21265:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21255:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8307,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_pending_arbitration",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7242,
                      "src": "21255:45:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 8308,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "21303:5:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "21255:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8310,
                  "nodeType": "ExpressionStatement",
                  "src": "21255:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8324,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8311,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "21318:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8313,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8312,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8295,
                          "src": "21328:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21318:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8314,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "finalize_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7240,
                      "src": "21318:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8319,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "21371:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8321,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8320,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8295,
                              "src": "21381:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "21371:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8322,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "21371:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8316,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "21362:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8315,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "21355:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 8317,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21355:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "id": 8318,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7094,
                        "src": "21355:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint32_$_t_uint32_$returns$_t_uint32_$bound_to$_t_uint32_$",
                          "typeString": "function (uint32,uint32) pure returns (uint32)"
                        }
                      },
                      "id": 8323,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21355:47:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "21318:84:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 8325,
                  "nodeType": "ExpressionStatement",
                  "src": "21318:84:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8327,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8295,
                        "src": "21438:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8326,
                      "name": "LogCancelArbitration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7216,
                      "src": "21417:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32)"
                      }
                    },
                    "id": 8328,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21417:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8329,
                  "nodeType": "EmitStatement",
                  "src": "21412:38:17"
                }
              ]
            },
            "documentation": "@notice Cancel a previously-requested arbitration and extend the timeout\n @dev Useful when doing arbitration across chains that can't be requested atomically\n @param question_id The ID of the question",
            "id": 8331,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8298,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8295,
                    "src": "21174:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8299,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8297,
                  "name": "onlyArbitrator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7309,
                  "src": "21159:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "21159:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8301,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8295,
                    "src": "21219:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8302,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8300,
                  "name": "statePendingArbitration",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7408,
                  "src": "21195:23:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "21195:36:17"
              }
            ],
            "name": "cancelArbitration",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8296,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8295,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8331,
                  "src": "21129:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8294,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "21129:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "21128:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8303,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "21245:0:17"
            },
            "scope": 9301,
            "src": "21102:355:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8379,
              "nodeType": "Block",
              "src": "22235:316:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 8349,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8347,
                          "name": "answerer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8337,
                          "src": "22254:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 8348,
                          "name": "NULL_ADDRESS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7113,
                          "src": "22266:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "22254:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "616e737765726572206d7573742062652070726f7669646564",
                        "id": 8350,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22280:27:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b2034904ed959e3f06daceb4dada259b4f13c4f11a1b4edcc62492a9fc76ce84",
                          "typeString": "literal_string \"answerer must be provided\""
                        },
                        "value": "answerer must be provided"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b2034904ed959e3f06daceb4dada259b4f13c4f11a1b4edcc62492a9fc76ce84",
                          "typeString": "literal_string \"answerer must be provided\""
                        }
                      ],
                      "id": 8346,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "22246:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8351,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22246:62:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8352,
                  "nodeType": "ExpressionStatement",
                  "src": "22246:62:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8354,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8333,
                        "src": "22335:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8355,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8335,
                        "src": "22348:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8353,
                      "name": "LogFinalize",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7222,
                      "src": "22323:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32,bytes32)"
                      }
                    },
                    "id": 8356,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22323:32:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8357,
                  "nodeType": "EmitStatement",
                  "src": "22318:37:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8363,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8358,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "22366:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8360,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8359,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8333,
                          "src": "22376:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "22366:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8361,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_pending_arbitration",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7242,
                      "src": "22366:45:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 8362,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "22414:5:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "22366:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8364,
                  "nodeType": "ExpressionStatement",
                  "src": "22366:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8366,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8333,
                        "src": "22449:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8367,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8335,
                        "src": "22462:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8368,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8337,
                        "src": "22470:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8369,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22480:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66616c7365",
                        "id": 8370,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22483:5:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8365,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "22429:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 8371,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22429:60:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8372,
                  "nodeType": "ExpressionStatement",
                  "src": "22429:60:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8374,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8333,
                        "src": "22520:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8375,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8335,
                        "src": "22533:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8376,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22541:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 8373,
                      "name": "_updateCurrentAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8251,
                      "src": "22499:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,uint32)"
                      }
                    },
                    "id": 8377,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22499:44:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8378,
                  "nodeType": "ExpressionStatement",
                  "src": "22499:44:17"
                }
              ]
            },
            "documentation": "@notice Submit the answer for a question, for use by the arbitrator.\n @dev Doesn't require (or allow) a bond.\n If the current final answer is correct, the account should be whoever submitted it.\n If the current final answer is wrong, the account should be whoever paid for arbitration.\n However, the answerer stipulations are not enforced by the contract.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param answerer The account credited with this answer for the purpose of bond claims",
            "id": 8380,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8340,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8333,
                    "src": "22166:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8341,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8339,
                  "name": "onlyArbitrator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7309,
                  "src": "22151:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "22151:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8343,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8333,
                    "src": "22211:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8344,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8342,
                  "name": "statePendingArbitration",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7408,
                  "src": "22187:23:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "22187:36:17"
              }
            ],
            "name": "submitAnswerByArbitrator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8333,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8380,
                  "src": "22087:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8332,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "22087:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8335,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8380,
                  "src": "22108:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8334,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "22108:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8337,
                  "name": "answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8380,
                  "src": "22124:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8336,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22124:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "22086:55:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8345,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22235:0:17"
            },
            "scope": 9301,
            "src": "22053:498:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8459,
              "nodeType": "Block",
              "src": "23469:867:17",
              "statements": [
                {
                  "assignments": [
                    8396
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8396,
                      "name": "is_commitment",
                      "nodeType": "VariableDeclaration",
                      "scope": 8460,
                      "src": "23479:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 8395,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "23479:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8410,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8398,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "23528:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 8400,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8399,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8382,
                            "src": "23538:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "23528:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 8401,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "history_hash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7248,
                        "src": "23528:35:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8402,
                        "name": "last_history_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8388,
                        "src": "23565:17:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8403,
                        "name": "last_answer_or_commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8390,
                        "src": "23584:28:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8404,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "23614:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 8406,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8405,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8382,
                            "src": "23624:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "23614:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 8407,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "bond",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7250,
                        "src": "23614:27:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8408,
                        "name": "last_answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8392,
                        "src": "23643:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 8397,
                      "name": "_verifyHistoryInputOrRevert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8887,
                      "src": "23500:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$",
                        "typeString": "function (bytes32,bytes32,bytes32,uint256,address) pure returns (bool)"
                      }
                    },
                    "id": 8409,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23500:157:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23479:178:17"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8412,
                      "name": "payee",
                      "nodeType": "VariableDeclaration",
                      "scope": 8460,
                      "src": "23668:13:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8411,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "23668:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8413,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23668:13:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 8420,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8414,
                      "name": "is_commitment",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8396,
                      "src": "23883:13:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8419,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "23900:54:17",
                      "subExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8415,
                            "name": "commitments",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7288,
                            "src": "23901:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                            }
                          },
                          "id": 8417,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8416,
                            "name": "last_answer_or_commitment_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8390,
                            "src": "23913:28:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "23901:41:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                            "typeString": "struct Realitio_v2_1.Commitment storage ref"
                          }
                        },
                        "id": 8418,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "is_revealed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7255,
                        "src": "23901:53:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "23883:71:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8451,
                    "nodeType": "Block",
                    "src": "24156:112:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8449,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8438,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8412,
                            "src": "24170:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "condition": {
                              "argumentTypes": null,
                              "components": [
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  "id": 8444,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 8439,
                                        "name": "questions",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7280,
                                        "src": "24179:9:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                        }
                                      },
                                      "id": 8441,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 8440,
                                        "name": "question_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8382,
                                        "src": "24189:11:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "24179:22:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                                        "typeString": "struct Realitio_v2_1.Question storage ref"
                                      }
                                    },
                                    "id": 8442,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "best_answer",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 7246,
                                    "src": "24179:34:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "id": 8443,
                                    "name": "answer",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8384,
                                    "src": "24217:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "src": "24179:44:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "id": 8445,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "24178:46:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseExpression": {
                              "argumentTypes": null,
                              "id": 8447,
                              "name": "payee_if_wrong",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8386,
                              "src": "24243:14:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 8448,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "Conditional",
                            "src": "24178:79:17",
                            "trueExpression": {
                              "argumentTypes": null,
                              "id": 8446,
                              "name": "last_answerer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8392,
                              "src": "24227:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "24170:87:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8450,
                        "nodeType": "ExpressionStatement",
                        "src": "24170:87:17"
                      }
                    ]
                  },
                  "id": 8452,
                  "nodeType": "IfStatement",
                  "src": "23879:389:17",
                  "trueBody": {
                    "id": 8437,
                    "nodeType": "Block",
                    "src": "23956:194:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              "id": 8429,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8422,
                                    "name": "commitments",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7288,
                                    "src": "23978:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                    }
                                  },
                                  "id": 8424,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8423,
                                    "name": "last_answer_or_commitment_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8390,
                                    "src": "23990:28:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "23978:41:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                    "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                  }
                                },
                                "id": 8425,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "reveal_ts",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7253,
                                "src": "23978:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8427,
                                    "name": "now",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9705,
                                    "src": "24039:3:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 8426,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "24032:6:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint32_$",
                                    "typeString": "type(uint32)"
                                  },
                                  "typeName": "uint32"
                                },
                                "id": 8428,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "24032:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "src": "23978:65:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "596f75206d757374207761697420666f72207468652072657665616c20646561646c696e65206265666f72652066696e616c697a696e67",
                              "id": 8430,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "24045:57:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_59906a33bbcf0bc176ce61cc097b3e9182f12a3fed11d73df0b39558e782f100",
                                "typeString": "literal_string \"You must wait for the reveal deadline before finalizing\""
                              },
                              "value": "You must wait for the reveal deadline before finalizing"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_59906a33bbcf0bc176ce61cc097b3e9182f12a3fed11d73df0b39558e782f100",
                                "typeString": "literal_string \"You must wait for the reveal deadline before finalizing\""
                              }
                            ],
                            "id": 8421,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9706,
                              9707
                            ],
                            "referencedDeclaration": 9707,
                            "src": "23970:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 8431,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23970:133:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8432,
                        "nodeType": "ExpressionStatement",
                        "src": "23970:133:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8435,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8433,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8412,
                            "src": "24117:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8434,
                            "name": "payee_if_wrong",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8386,
                            "src": "24125:14:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "24117:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8436,
                        "nodeType": "ExpressionStatement",
                        "src": "24117:22:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8454,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8382,
                        "src": "24302:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8455,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8384,
                        "src": "24315:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8456,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8412,
                        "src": "24323:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 8453,
                      "name": "submitAnswerByArbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8380,
                      "src": "24277:24:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address)"
                      }
                    },
                    "id": 8457,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24277:52:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8458,
                  "nodeType": "ExpressionStatement",
                  "src": "24277:52:17"
                }
              ]
            },
            "documentation": "@notice Submit the answer for a question, for use by the arbitrator, working out the appropriate winner based on the last answer details.\n @dev Doesn't require (or allow) a bond.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param payee_if_wrong The account to by credited as winner if the last answer given is wrong, usually the account that paid the arbitrator\n @param last_history_hash The history hash before the final one\n @param last_answer_or_commitment_id The last answer given, or the commitment ID if it was a commitment.\n @param last_answerer The address that supplied the last answer",
            "id": 8460,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "assignWinnerAndSubmitAnswerByArbitrator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8393,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8382,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23306:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8381,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23306:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8384,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23327:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8383,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23327:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8386,
                  "name": "payee_if_wrong",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23343:22:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8385,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23343:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8388,
                  "name": "last_history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23367:25:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8387,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23367:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8390,
                  "name": "last_answer_or_commitment_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23394:36:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8389,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23394:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8392,
                  "name": "last_answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23432:21:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8391,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23432:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "23305:149:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8394,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23469:0:17"
            },
            "scope": 9301,
            "src": "23257:1079:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8493,
              "nodeType": "Block",
              "src": "24589:201:17",
              "statements": [
                {
                  "assignments": [
                    8468
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8468,
                      "name": "finalize_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 8494,
                      "src": "24599:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 8467,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "24599:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8473,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8469,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "24620:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8471,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8470,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8462,
                        "src": "24630:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "24620:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8472,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "24620:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "24599:55:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 8490,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 8483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8478,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "!",
                            "prefix": true,
                            "src": "24673:46:17",
                            "subExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8474,
                                  "name": "questions",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7280,
                                  "src": "24674:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                    "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                  }
                                },
                                "id": 8476,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8475,
                                  "name": "question_id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8462,
                                  "src": "24684:11:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "24674:22:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Question_$7251_storage",
                                  "typeString": "struct Realitio_v2_1.Question storage ref"
                                }
                              },
                              "id": 8477,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "is_pending_arbitration",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7242,
                              "src": "24674:45:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                },
                                "id": 8481,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 8479,
                                  "name": "finalize_ts",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8468,
                                  "src": "24724:11:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint32",
                                    "typeString": "uint32"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 8480,
                                  "name": "UNANSWERED",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7121,
                                  "src": "24738:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint32",
                                    "typeString": "uint32"
                                  }
                                },
                                "src": "24724:24:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 8482,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "24723:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "24673:76:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              "id": 8488,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 8484,
                                "name": "finalize_ts",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8468,
                                "src": "24754:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8486,
                                    "name": "now",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9705,
                                    "src": "24776:3:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 8485,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "24769:6:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint32_$",
                                    "typeString": "type(uint32)"
                                  },
                                  "typeName": "uint32"
                                },
                                "id": 8487,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "24769:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "src": "24754:26:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "id": 8489,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "24753:28:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "24673:108:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 8491,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "24671:112:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 8466,
                  "id": 8492,
                  "nodeType": "Return",
                  "src": "24664:119:17"
                }
              ]
            },
            "documentation": "@notice Report whether the answer to the specified question is finalized\n @param question_id The ID of the question\n @return Return true if finalized",
            "id": 8494,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isFinalized",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8463,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8462,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8494,
                  "src": "24536:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8461,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "24536:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "24535:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8466,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8465,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8494,
                  "src": "24583:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8464,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "24583:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "24582:6:17"
            },
            "scope": 9301,
            "src": "24515:275:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8509,
              "nodeType": "Block",
              "src": "25123:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8504,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "25140:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8506,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8505,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8496,
                        "src": "25150:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "25140:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8507,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "25140:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 8503,
                  "id": 8508,
                  "nodeType": "Return",
                  "src": "25133:41:17"
                }
              ]
            },
            "documentation": "@notice (Deprecated) Return the final answer to the specified question, or revert if there isn't one\n @param question_id The ID of the question\n @return The answer formatted as a bytes32",
            "id": 8510,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8499,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8496,
                    "src": "25074:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8500,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8498,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "25059:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "25059:27:17"
              }
            ],
            "name": "getFinalAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8497,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8496,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8510,
                  "src": "25029:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8495,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25029:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25028:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8503,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8502,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8510,
                  "src": "25114:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8501,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25114:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25113:9:17"
            },
            "scope": 9301,
            "src": "25005:176:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8525,
              "nodeType": "Block",
              "src": "25496:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8520,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "25513:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8522,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8521,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8512,
                        "src": "25523:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "25513:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8523,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "25513:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 8519,
                  "id": 8524,
                  "nodeType": "Return",
                  "src": "25506:41:17"
                }
              ]
            },
            "documentation": "@notice Return the final answer to the specified question, or revert if there isn't one\n @param question_id The ID of the question\n @return The answer formatted as a bytes32",
            "id": 8526,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8515,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8512,
                    "src": "25447:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8516,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8514,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "25432:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "25432:27:17"
              }
            ],
            "name": "resultFor",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8513,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8512,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8526,
                  "src": "25402:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8511,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25402:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25401:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8518,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8526,
                  "src": "25487:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8517,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25487:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25486:9:17"
            },
            "scope": 9301,
            "src": "25383:171:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8589,
              "nodeType": "Block",
              "src": "26532:427:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        "id": 8550,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8545,
                          "name": "content_hash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8530,
                          "src": "26550:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8546,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26566:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8548,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8547,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26576:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26566:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8549,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "content_hash",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7232,
                          "src": "26566:35:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "src": "26550:51:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "636f6e74656e742068617368206d757374206d61746368",
                        "id": 8551,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26603:25:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1ab4f91b91ff887ba4101461ee7fdff8a9550df020c832d7174034a04b833c71",
                          "typeString": "literal_string \"content hash must match\""
                        },
                        "value": "content hash must match"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_1ab4f91b91ff887ba4101461ee7fdff8a9550df020c832d7174034a04b833c71",
                          "typeString": "literal_string \"content hash must match\""
                        }
                      ],
                      "id": 8544,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26542:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8552,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26542:87:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8553,
                  "nodeType": "ExpressionStatement",
                  "src": "26542:87:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 8560,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8555,
                          "name": "arbitrator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8532,
                          "src": "26647:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8556,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26661:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8558,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8557,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26671:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26661:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8559,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "arbitrator",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7234,
                          "src": "26661:33:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "26647:47:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206d757374206d61746368",
                        "id": 8561,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26696:23:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e14333e0b7159d63d81a1f747c3418d619023485dd483dee8ea5dfb57b0ff723",
                          "typeString": "literal_string \"arbitrator must match\""
                        },
                        "value": "arbitrator must match"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e14333e0b7159d63d81a1f747c3418d619023485dd483dee8ea5dfb57b0ff723",
                          "typeString": "literal_string \"arbitrator must match\""
                        }
                      ],
                      "id": 8554,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26639:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8562,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26639:81:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8563,
                  "nodeType": "ExpressionStatement",
                  "src": "26639:81:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 8570,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8565,
                          "name": "min_timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8534,
                          "src": "26738:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8566,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26753:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8568,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8567,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26763:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26753:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8569,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "26753:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "src": "26738:45:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74696d656f7574206d757374206265206c6f6e6720656e6f756768",
                        "id": 8571,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26785:29:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cc60de11d8ba89bb648c5bc8147e6f8669fe77735adef82b63fc28eef3d7dfeb",
                          "typeString": "literal_string \"timeout must be long enough\""
                        },
                        "value": "timeout must be long enough"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cc60de11d8ba89bb648c5bc8147e6f8669fe77735adef82b63fc28eef3d7dfeb",
                          "typeString": "literal_string \"timeout must be long enough\""
                        }
                      ],
                      "id": 8564,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26730:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8572,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26730:85:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8573,
                  "nodeType": "ExpressionStatement",
                  "src": "26730:85:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8580,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8575,
                          "name": "min_bond",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8536,
                          "src": "26833:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8576,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26845:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8578,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8577,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26855:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26845:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8579,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "bond",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7250,
                          "src": "26845:27:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "26833:39:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "626f6e64206d757374206265206869676820656e6f756768",
                        "id": 8581,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26874:26:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_4fbe9b5254b5b7c01e42aaadc74b327644dc528a9916fa76193407d46b5c0951",
                          "typeString": "literal_string \"bond must be high enough\""
                        },
                        "value": "bond must be high enough"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_4fbe9b5254b5b7c01e42aaadc74b327644dc528a9916fa76193407d46b5c0951",
                          "typeString": "literal_string \"bond must be high enough\""
                        }
                      ],
                      "id": 8574,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26825:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8582,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26825:76:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8583,
                  "nodeType": "ExpressionStatement",
                  "src": "26825:76:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8584,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "26918:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8586,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8585,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8528,
                        "src": "26928:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "26918:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8587,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "26918:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 8543,
                  "id": 8588,
                  "nodeType": "Return",
                  "src": "26911:41:17"
                }
              ]
            },
            "documentation": "@notice Return the final answer to the specified question, provided it matches the specified criteria.\n @dev Reverts if the question is not finalized, or if it does not match the specified criteria.\n @param question_id The ID of the question\n @param content_hash The hash of the question content (template ID + opening time + question parameter string)\n @param arbitrator The arbitrator chosen for the question (regardless of whether they are asked to arbitrate)\n @param min_timeout The timeout set in the initial question settings must be this high or higher\n @param min_bond The bond sent with the final answer must be this high or higher\n @return The answer formatted as a bytes32",
            "id": 8590,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8539,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8528,
                    "src": "26483:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8540,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8538,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "26468:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "26468:27:17"
              }
            ],
            "name": "getFinalAnswerIfMatches",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8537,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8528,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26344:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8527,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26344:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8530,
                  "name": "content_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26374:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8529,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26374:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8532,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26396:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8531,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26396:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8534,
                  "name": "min_timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26416:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 8533,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26416:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8536,
                  "name": "min_bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26436:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8535,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "26436:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26334:124:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8542,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26523:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8541,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26523:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26522:9:17"
            },
            "scope": 9301,
            "src": "26302:657:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8807,
              "nodeType": "Block",
              "src": "28471:2958:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 8611,
                            "name": "history_hashes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8595,
                            "src": "28490:14:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "id": 8612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "28490:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 8613,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "28514:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "28490:25:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6174206c65617374206f6e6520686973746f7279206861736820656e747279206d7573742062652070726f7669646564",
                        "id": 8615,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "28517:50:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e887b9c35a99bf27d861fac479e37f4d87d4bceab6db3e0e5edcbd73f35992ed",
                          "typeString": "literal_string \"at least one history hash entry must be provided\""
                        },
                        "value": "at least one history hash entry must be provided"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e887b9c35a99bf27d861fac479e37f4d87d4bceab6db3e0e5edcbd73f35992ed",
                          "typeString": "literal_string \"at least one history hash entry must be provided\""
                        }
                      ],
                      "id": 8610,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "28482:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8616,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28482:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8617,
                  "nodeType": "ExpressionStatement",
                  "src": "28482:86:17"
                },
                {
                  "assignments": [
                    8619
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8619,
                      "name": "payee",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "28659:13:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8618,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "28659:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8624,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8620,
                        "name": "question_claims",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7284,
                        "src": "28675:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                        }
                      },
                      "id": 8622,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8621,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "28691:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "28675:28:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Claim_$7265_storage",
                        "typeString": "struct Realitio_v2_1.Claim storage ref"
                      }
                    },
                    "id": 8623,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "payee",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7260,
                    "src": "28675:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "28659:50:17"
                },
                {
                  "assignments": [
                    8626
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8626,
                      "name": "last_bond",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "28720:17:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8625,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "28720:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8631,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8627,
                        "name": "question_claims",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7284,
                        "src": "28740:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                        }
                      },
                      "id": 8629,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8628,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "28756:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "28740:28:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Claim_$7265_storage",
                        "typeString": "struct Realitio_v2_1.Claim storage ref"
                      }
                    },
                    "id": 8630,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "last_bond",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7262,
                    "src": "28740:38:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "28720:58:17"
                },
                {
                  "assignments": [
                    8633
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8633,
                      "name": "queued_funds",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "28789:20:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8632,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "28789:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8638,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8634,
                        "name": "question_claims",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7284,
                        "src": "28812:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                        }
                      },
                      "id": 8636,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8635,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "28828:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "28812:28:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Claim_$7265_storage",
                        "typeString": "struct Realitio_v2_1.Claim storage ref"
                      }
                    },
                    "id": 8637,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "queued_funds",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7264,
                    "src": "28812:41:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "28789:64:17"
                },
                {
                  "assignments": [
                    8640
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8640,
                      "name": "last_history_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "29074:25:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8639,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "29074:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8645,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8641,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "29102:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8643,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8642,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "29112:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "29102:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8644,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "history_hash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7248,
                    "src": "29102:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29074:63:17"
                },
                {
                  "assignments": [
                    8647
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8647,
                      "name": "best_answer",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "29148:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8646,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "29148:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8652,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8648,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "29170:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8650,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8649,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "29180:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "29170:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8651,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "29170:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29148:56:17"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8654,
                      "name": "i",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "29215:9:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8653,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "29215:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8655,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29215:9:17"
                },
                {
                  "body": {
                    "id": 8742,
                    "nodeType": "Block",
                    "src": "29278:1075:17",
                    "statements": [
                      {
                        "assignments": [
                          8668
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8668,
                            "name": "is_commitment",
                            "nodeType": "VariableDeclaration",
                            "scope": 8808,
                            "src": "29412:18:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "typeName": {
                              "id": 8667,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "29412:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8684,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8670,
                              "name": "last_history_hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8640,
                              "src": "29461:17:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8671,
                                "name": "history_hashes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8595,
                                "src": "29480:14:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                  "typeString": "bytes32[] memory"
                                }
                              },
                              "id": 8673,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8672,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29495:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29480:17:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8674,
                                "name": "answers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8604,
                                "src": "29499:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                  "typeString": "bytes32[] memory"
                                }
                              },
                              "id": 8676,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8675,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29507:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29499:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8677,
                                "name": "bonds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8601,
                                "src": "29511:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 8679,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8678,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29517:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29511:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8680,
                                "name": "addrs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8598,
                                "src": "29521:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8682,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8681,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29527:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29521:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 8669,
                            "name": "_verifyHistoryInputOrRevert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8887,
                            "src": "29433:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$",
                              "typeString": "function (bytes32,bytes32,bytes32,uint256,address) pure returns (bool)"
                            }
                          },
                          "id": 8683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "29433:97:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "29412:118:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8690,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8685,
                            "name": "queued_funds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8633,
                            "src": "29557:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8688,
                                "name": "last_bond",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8626,
                                "src": "29589:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 8686,
                                "name": "queued_funds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8633,
                                "src": "29572:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8687,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7067,
                              "src": "29572:16:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 8689,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29572:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "29557:42:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8691,
                        "nodeType": "ExpressionStatement",
                        "src": "29557:42:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8711,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 8692,
                                "name": "queued_funds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8633,
                                "src": "29615:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8693,
                                "name": "payee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8619,
                                "src": "29629:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "id": 8694,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "29614:21:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                              "typeString": "tuple(uint256,address)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8696,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "29675:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8697,
                                "name": "best_answer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8647,
                                "src": "29688:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8698,
                                "name": "queued_funds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8633,
                                "src": "29701:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8699,
                                "name": "payee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8619,
                                "src": "29715:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8700,
                                  "name": "addrs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8598,
                                  "src": "29739:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                    "typeString": "address[] memory"
                                  }
                                },
                                "id": 8702,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8701,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8654,
                                  "src": "29745:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "29739:8:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8703,
                                  "name": "bonds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8601,
                                  "src": "29749:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                    "typeString": "uint256[] memory"
                                  }
                                },
                                "id": 8705,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8704,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8654,
                                  "src": "29755:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "29749:8:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8706,
                                  "name": "answers",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8604,
                                  "src": "29759:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                    "typeString": "bytes32[] memory"
                                  }
                                },
                                "id": 8708,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8707,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8654,
                                  "src": "29767:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "29759:10:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8709,
                                "name": "is_commitment",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8668,
                                "src": "29771:13:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "id": 8695,
                              "name": "_processHistoryItem",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9014,
                              "src": "29638:19:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$_t_bool_$returns$_t_uint256_$_t_address_$",
                                "typeString": "function (bytes32,bytes32,uint256,address,address,uint256,bytes32,bool) returns (uint256,address)"
                              }
                            },
                            "id": 8710,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29638:147:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                              "typeString": "tuple(uint256,address)"
                            }
                          },
                          "src": "29614:171:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8712,
                        "nodeType": "ExpressionStatement",
                        "src": "29614:171:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8717,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8713,
                            "name": "last_bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8626,
                            "src": "29897:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8714,
                              "name": "bonds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8601,
                              "src": "29909:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 8716,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8715,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8654,
                              "src": "29915:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "29909:8:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "29897:20:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8718,
                        "nodeType": "ExpressionStatement",
                        "src": "29897:20:17"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 8724,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8719,
                            "name": "last_bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8626,
                            "src": "30151:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8720,
                                "name": "questions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7280,
                                "src": "30164:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                }
                              },
                              "id": 8722,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8721,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "30174:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "30164:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Question_$7251_storage",
                                "typeString": "struct Realitio_v2_1.Question storage ref"
                              }
                            },
                            "id": 8723,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "bond",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7250,
                            "src": "30164:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "30151:40:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 8735,
                        "nodeType": "IfStatement",
                        "src": "30147:143:17",
                        "trueBody": {
                          "id": 8734,
                          "nodeType": "Block",
                          "src": "30193:97:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8732,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8725,
                                  "name": "last_bond",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8626,
                                  "src": "30211:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 8730,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "argumentTypes": null,
                                        "id": 8728,
                                        "name": "last_bond",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8626,
                                        "src": "30237:9:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "/",
                                      "rightExpression": {
                                        "argumentTypes": null,
                                        "id": 8729,
                                        "name": "BOND_CLAIM_FEE_PROPORTION",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7130,
                                        "src": "30249:25:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "30237:37:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 8726,
                                      "name": "last_bond",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8626,
                                      "src": "30223:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 8727,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "sub",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 7043,
                                    "src": "30223:13:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                      "typeString": "function (uint256,uint256) pure returns (uint256)"
                                    }
                                  },
                                  "id": 8731,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "30223:52:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "30211:64:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8733,
                              "nodeType": "ExpressionStatement",
                              "src": "30211:64:17"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8740,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8736,
                            "name": "last_history_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8640,
                            "src": "30304:17:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8737,
                              "name": "history_hashes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8595,
                              "src": "30324:14:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            "id": 8739,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8738,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8654,
                              "src": "30339:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "30324:17:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "30304:37:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 8741,
                        "nodeType": "ExpressionStatement",
                        "src": "30304:37:17"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8663,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8660,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8654,
                      "src": "29246:1:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 8661,
                        "name": "history_hashes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8595,
                        "src": "29250:14:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                          "typeString": "bytes32[] memory"
                        }
                      },
                      "id": 8662,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "29250:21:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "29246:25:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8743,
                  "initializationExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8658,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 8656,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8654,
                        "src": "29239:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8657,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "29243:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "29239:5:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8659,
                    "nodeType": "ExpressionStatement",
                    "src": "29239:5:17"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8665,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "29273:3:17",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 8664,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8654,
                        "src": "29273:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8666,
                    "nodeType": "ExpressionStatement",
                    "src": "29273:3:17"
                  },
                  "nodeType": "ForStatement",
                  "src": "29234:1119:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8746,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8744,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8640,
                      "src": "30368:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8745,
                      "name": "NULL_HASH",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7118,
                      "src": "30389:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "30368:30:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8798,
                    "nodeType": "Block",
                    "src": "31143:213:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8785,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8592,
                              "src": "31248:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8786,
                              "name": "payee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8619,
                              "src": "31261:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 8789,
                                  "name": "last_bond",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8626,
                                  "src": "31285:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 8787,
                                  "name": "queued_funds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8633,
                                  "src": "31268:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 8788,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7067,
                                "src": "31268:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 8790,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "31268:27:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8784,
                            "name": "_payPayee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8835,
                            "src": "31238:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,address,uint256)"
                            }
                          },
                          "id": 8791,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "31238:58:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8792,
                        "nodeType": "ExpressionStatement",
                        "src": "31238:58:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8796,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "delete",
                          "prefix": true,
                          "src": "31310:35:17",
                          "subExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8793,
                              "name": "question_claims",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7284,
                              "src": "31317:15:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                              }
                            },
                            "id": 8795,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8794,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8592,
                              "src": "31333:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "31317:28:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Claim_$7265_storage",
                              "typeString": "struct Realitio_v2_1.Claim storage ref"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8797,
                        "nodeType": "ExpressionStatement",
                        "src": "31310:35:17"
                      }
                    ]
                  },
                  "id": 8799,
                  "nodeType": "IfStatement",
                  "src": "30364:992:17",
                  "trueBody": {
                    "id": 8783,
                    "nodeType": "Block",
                    "src": "30400:737:17",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 8749,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8747,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8619,
                            "src": "30803:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8748,
                            "name": "NULL_ADDRESS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7113,
                            "src": "30812:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "30803:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 8761,
                        "nodeType": "IfStatement",
                        "src": "30799:137:17",
                        "trueBody": {
                          "id": 8760,
                          "nodeType": "Block",
                          "src": "30826:110:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8751,
                                    "name": "question_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8592,
                                    "src": "30854:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8752,
                                    "name": "payee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8619,
                                    "src": "30867:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8753,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8633,
                                    "src": "30874:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 8750,
                                  "name": "_payPayee",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8835,
                                  "src": "30844:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                                    "typeString": "function (bytes32,address,uint256)"
                                  }
                                },
                                "id": 8754,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "30844:43:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8755,
                              "nodeType": "ExpressionStatement",
                              "src": "30844:43:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8758,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8756,
                                  "name": "queued_funds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8633,
                                  "src": "30905:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 8757,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "30920:1:17",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "30905:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8759,
                              "nodeType": "ExpressionStatement",
                              "src": "30905:16:17"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8767,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8762,
                                "name": "question_claims",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7284,
                                "src": "30950:15:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                                }
                              },
                              "id": 8764,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8763,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "30966:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "30950:28:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Claim_$7265_storage",
                                "typeString": "struct Realitio_v2_1.Claim storage ref"
                              }
                            },
                            "id": 8765,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "payee",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7260,
                            "src": "30950:34:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8766,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8619,
                            "src": "30987:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "30950:42:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8768,
                        "nodeType": "ExpressionStatement",
                        "src": "30950:42:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8774,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8769,
                                "name": "question_claims",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7284,
                                "src": "31006:15:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                                }
                              },
                              "id": 8771,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8770,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "31022:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "31006:28:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Claim_$7265_storage",
                                "typeString": "struct Realitio_v2_1.Claim storage ref"
                              }
                            },
                            "id": 8772,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "last_bond",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7262,
                            "src": "31006:38:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8773,
                            "name": "last_bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8626,
                            "src": "31047:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "31006:50:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8775,
                        "nodeType": "ExpressionStatement",
                        "src": "31006:50:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8781,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8776,
                                "name": "question_claims",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7284,
                                "src": "31070:15:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                                }
                              },
                              "id": 8778,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8777,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "31086:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "31070:28:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Claim_$7265_storage",
                                "typeString": "struct Realitio_v2_1.Claim storage ref"
                              }
                            },
                            "id": 8779,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "queued_funds",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7264,
                            "src": "31070:41:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8780,
                            "name": "queued_funds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8633,
                            "src": "31114:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "31070:56:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8782,
                        "nodeType": "ExpressionStatement",
                        "src": "31070:56:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8805,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8800,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "31366:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8802,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8801,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8592,
                          "src": "31376:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "31366:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8803,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "history_hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7248,
                      "src": "31366:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8804,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8640,
                      "src": "31404:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "31366:55:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8806,
                  "nodeType": "ExpressionStatement",
                  "src": "31366:55:17"
                }
              ]
            },
            "documentation": "@notice Assigns the winnings (bounty and bonds) to everyone who gave the accepted answer\n Caller must provide the answer history, in reverse order\n @dev Works up the chain and assign bonds to the person who gave the right answer\n If someone gave the winning answer earlier, they must get paid from the higher bond\n That means we can't pay out the bond added at n until we have looked at n-1\n The first answer is authenticated by checking against the stored history_hash.\n One of the inputs to history_hash is the history_hash before it, so we use that to authenticate the next entry, etc\n Once we get to a null hash we'll know we're done and there are no more answers.\n Usually you would call the whole thing in a single transaction, but if not then the data is persisted to pick up later.\n @param question_id The ID of the question\n @param history_hashes Second-last-to-first, the hash of each history entry. (Final one should be empty).\n @param addrs Last-to-first, the address of each answerer or commitment sender\n @param bonds Last-to-first, the bond supplied with each answer or commitment\n @param answers Last-to-first, each answer supplied, or commitment ID if the answer was supplied with commit->reveal",
            "id": 8808,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8607,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8592,
                    "src": "28447:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8608,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8606,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "28432:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "28432:27:17"
              }
            ],
            "name": "claimWinnings",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8605,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8592,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28309:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8591,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "28309:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8595,
                  "name": "history_hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28339:24:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8593,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "28339:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8594,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28339:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8598,
                  "name": "addrs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28365:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8596,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "28365:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8597,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28365:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8601,
                  "name": "bonds",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28382:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8599,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "28382:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8600,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28382:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8604,
                  "name": "answers",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28399:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8602,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "28399:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8603,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28399:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28299:123:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8609,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "28471:0:17"
            },
            "scope": 9301,
            "src": "28277:3152:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8834,
              "nodeType": "Block",
              "src": "31519:113:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8817,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 396,
                        "src": "31529:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 8819,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8818,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8812,
                        "src": "31539:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "31529:16:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8824,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8814,
                          "src": "31569:5:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8820,
                            "name": "balanceOf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 396,
                            "src": "31548:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 8822,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8821,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8812,
                            "src": "31558:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "31548:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8823,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7067,
                        "src": "31548:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 8825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31548:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "31529:46:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8827,
                  "nodeType": "ExpressionStatement",
                  "src": "31529:46:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8829,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8810,
                        "src": "31599:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8830,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8812,
                        "src": "31612:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8831,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8814,
                        "src": "31619:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 8828,
                      "name": "LogClaim",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7230,
                      "src": "31590:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256)"
                      }
                    },
                    "id": 8832,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "31590:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8833,
                  "nodeType": "EmitStatement",
                  "src": "31585:40:17"
                }
              ]
            },
            "documentation": null,
            "id": 8835,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_payPayee",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8815,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8810,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8835,
                  "src": "31454:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8809,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31454:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8812,
                  "name": "payee",
                  "nodeType": "VariableDeclaration",
                  "scope": 8835,
                  "src": "31475:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8811,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "31475:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8814,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 8835,
                  "src": "31490:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8813,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "31490:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31453:51:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8816,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "31519:0:17"
            },
            "scope": 9301,
            "src": "31435:197:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8886,
              "nodeType": "Block",
              "src": "31823:364:17",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8861,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8850,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8837,
                      "src": "31837:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8854,
                              "name": "history_hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8839,
                              "src": "31885:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8855,
                              "name": "answer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8841,
                              "src": "31899:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8856,
                              "name": "bond",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8843,
                              "src": "31907:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8857,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8845,
                              "src": "31913:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 8858,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "31919:4:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 8852,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9690,
                              "src": "31868:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 8853,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "31868:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 8859,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "31868:56:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 8851,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9697,
                        "src": "31858:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 8860,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31858:67:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "31837:88:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8865,
                  "nodeType": "IfStatement",
                  "src": "31833:131:17",
                  "trueBody": {
                    "id": 8864,
                    "nodeType": "Block",
                    "src": "31928:36:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 8862,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "31949:4:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        "functionReturnParameters": 8849,
                        "id": 8863,
                        "nodeType": "Return",
                        "src": "31942:11:17"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8877,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8866,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8837,
                      "src": "31977:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8870,
                              "name": "history_hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8839,
                              "src": "32025:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8871,
                              "name": "answer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8841,
                              "src": "32039:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8872,
                              "name": "bond",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8843,
                              "src": "32047:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8873,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8845,
                              "src": "32053:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 8874,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "32059:5:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 8868,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9690,
                              "src": "32008:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 8869,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "32008:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 8875,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "32008:57:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 8867,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9697,
                        "src": "31998:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 8876,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31998:68:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "31977:89:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8881,
                  "nodeType": "IfStatement",
                  "src": "31973:133:17",
                  "trueBody": {
                    "id": 8880,
                    "nodeType": "Block",
                    "src": "32069:37:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 8878,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "32090:5:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 8849,
                        "id": 8879,
                        "nodeType": "Return",
                        "src": "32083:12:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "486973746f727920696e7075742070726f766964656420646964206e6f74206d61746368207468652065787065637465642068617368",
                        "id": 8883,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "32123:56:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_105eb464ca1766d0405b5fa901151a4c75699ccc5e522facb7c8a5407d6bd553",
                          "typeString": "literal_string \"History input provided did not match the expected hash\""
                        },
                        "value": "History input provided did not match the expected hash"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_105eb464ca1766d0405b5fa901151a4c75699ccc5e522facb7c8a5407d6bd553",
                          "typeString": "literal_string \"History input provided did not match the expected hash\""
                        }
                      ],
                      "id": 8882,
                      "name": "revert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9708,
                        9709
                      ],
                      "referencedDeclaration": 9709,
                      "src": "32116:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory) pure"
                      }
                    },
                    "id": 8884,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "32116:64:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8885,
                  "nodeType": "ExpressionStatement",
                  "src": "32116:64:17"
                }
              ]
            },
            "documentation": null,
            "id": 8887,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "_verifyHistoryInputOrRevert",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8846,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8837,
                  "name": "last_history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31684:25:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8836,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31684:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8839,
                  "name": "history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31719:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8838,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31719:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8841,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31741:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8840,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31741:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8843,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31757:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8842,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "31757:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8845,
                  "name": "addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31771:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8844,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "31771:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31674:115:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8849,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8848,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31817:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8847,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "31817:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31816:6:17"
            },
            "scope": 9301,
            "src": "31638:549:17",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 9013,
              "nodeType": "Block",
              "src": "32437:2167:17",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 8910,
                    "name": "is_commitment",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8903,
                    "src": "32636:13:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8945,
                  "nodeType": "IfStatement",
                  "src": "32632:482:17",
                  "trueBody": {
                    "id": 8944,
                    "nodeType": "Block",
                    "src": "32651:463:17",
                    "statements": [
                      {
                        "assignments": [
                          8912
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8912,
                            "name": "commitment_id",
                            "nodeType": "VariableDeclaration",
                            "scope": 9014,
                            "src": "32665:21:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "typeName": {
                              "id": 8911,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "32665:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8914,
                        "initialValue": {
                          "argumentTypes": null,
                          "id": 8913,
                          "name": "answer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8901,
                          "src": "32689:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "32665:30:17"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 8919,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "32810:39:17",
                          "subExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8915,
                                "name": "commitments",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7288,
                                "src": "32811:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                }
                              },
                              "id": 8917,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8916,
                                "name": "commitment_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8912,
                                "src": "32823:13:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "32811:26:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                "typeString": "struct Realitio_v2_1.Commitment storage ref"
                              }
                            },
                            "id": 8918,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "is_revealed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7255,
                            "src": "32811:38:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 8942,
                          "nodeType": "Block",
                          "src": "32969:135:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8935,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8930,
                                  "name": "answer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8901,
                                  "src": "32987:6:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 8931,
                                      "name": "commitments",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7288,
                                      "src": "32996:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                        "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                      }
                                    },
                                    "id": 8933,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 8932,
                                      "name": "commitment_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8912,
                                      "src": "33008:13:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "32996:26:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                      "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                    }
                                  },
                                  "id": 8934,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "revealed_answer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 7257,
                                  "src": "32996:42:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "32987:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 8936,
                              "nodeType": "ExpressionStatement",
                              "src": "32987:51:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8940,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "delete",
                                "prefix": true,
                                "src": "33056:33:17",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8937,
                                    "name": "commitments",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7288,
                                    "src": "33063:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                    }
                                  },
                                  "id": 8939,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8938,
                                    "name": "commitment_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8912,
                                    "src": "33075:13:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "33063:26:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                    "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8941,
                              "nodeType": "ExpressionStatement",
                              "src": "33056:33:17"
                            }
                          ]
                        },
                        "id": 8943,
                        "nodeType": "IfStatement",
                        "src": "32806:298:17",
                        "trueBody": {
                          "id": 8929,
                          "nodeType": "Block",
                          "src": "32851:112:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8923,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "delete",
                                "prefix": true,
                                "src": "32869:33:17",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8920,
                                    "name": "commitments",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7288,
                                    "src": "32876:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                    }
                                  },
                                  "id": 8922,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8921,
                                    "name": "commitment_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8912,
                                    "src": "32888:13:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "32876:26:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                    "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8924,
                              "nodeType": "ExpressionStatement",
                              "src": "32869:33:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8925,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8893,
                                    "src": "32928:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8926,
                                    "name": "payee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8895,
                                    "src": "32942:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "id": 8927,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "32927:21:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                                  "typeString": "tuple(uint256,address)"
                                }
                              },
                              "functionReturnParameters": 8909,
                              "id": 8928,
                              "nodeType": "Return",
                              "src": "32920:28:17"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8948,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8946,
                      "name": "answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8901,
                      "src": "33128:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8947,
                      "name": "best_answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8891,
                      "src": "33138:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "33128:21:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 9008,
                  "nodeType": "IfStatement",
                  "src": "33124:1434:17",
                  "trueBody": {
                    "id": 9007,
                    "nodeType": "Block",
                    "src": "33151:1407:17",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 8951,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8949,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8895,
                            "src": "33170:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8950,
                            "name": "NULL_ADDRESS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7113,
                            "src": "33179:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "33170:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "id": 8976,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 8974,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8897,
                              "src": "33509:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 8975,
                              "name": "payee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8895,
                              "src": "33517:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "33509:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": null,
                          "id": 9005,
                          "nodeType": "IfStatement",
                          "src": "33505:1042:17",
                          "trueBody": {
                            "id": 9004,
                            "nodeType": "Block",
                            "src": "33524:1023:17",
                            "statements": [
                              {
                                "assignments": [
                                  8978
                                ],
                                "declarations": [
                                  {
                                    "constant": false,
                                    "id": 8978,
                                    "name": "answer_takeover_fee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 9014,
                                    "src": "34143:27:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "typeName": {
                                      "id": 8977,
                                      "name": "uint256",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "34143:7:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                  }
                                ],
                                "id": 8986,
                                "initialValue": {
                                  "argumentTypes": null,
                                  "condition": {
                                    "argumentTypes": null,
                                    "components": [
                                      {
                                        "argumentTypes": null,
                                        "commonType": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        "id": 8981,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "argumentTypes": null,
                                          "id": 8979,
                                          "name": "queued_funds",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8893,
                                          "src": "34174:12:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": ">=",
                                        "rightExpression": {
                                          "argumentTypes": null,
                                          "id": 8980,
                                          "name": "bond",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8899,
                                          "src": "34190:4:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "src": "34174:20:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      }
                                    ],
                                    "id": 8982,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "34173:22:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "falseExpression": {
                                    "argumentTypes": null,
                                    "id": 8984,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8893,
                                    "src": "34205:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 8985,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "Conditional",
                                  "src": "34173:44:17",
                                  "trueExpression": {
                                    "argumentTypes": null,
                                    "id": 8983,
                                    "name": "bond",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8899,
                                    "src": "34198:4:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "VariableDeclarationStatement",
                                "src": "34143:74:17"
                              },
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 8988,
                                      "name": "question_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8889,
                                      "src": "34309:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8989,
                                      "name": "payee",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8895,
                                      "src": "34322:5:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "id": 8992,
                                          "name": "answer_takeover_fee",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8978,
                                          "src": "34346:19:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 8990,
                                          "name": "queued_funds",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8893,
                                          "src": "34329:12:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "id": 8991,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sub",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 7043,
                                        "src": "34329:16:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                                        }
                                      },
                                      "id": 8993,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "34329:37:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      },
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 8987,
                                    "name": "_payPayee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8835,
                                    "src": "34299:9:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                                      "typeString": "function (bytes32,address,uint256)"
                                    }
                                  },
                                  "id": 8994,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "34299:68:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 8995,
                                "nodeType": "ExpressionStatement",
                                "src": "34299:68:17"
                              },
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 8998,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "argumentTypes": null,
                                    "id": 8996,
                                    "name": "payee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8895,
                                    "src": "34467:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "argumentTypes": null,
                                    "id": 8997,
                                    "name": "addr",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8897,
                                    "src": "34475:4:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "src": "34467:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "id": 8999,
                                "nodeType": "ExpressionStatement",
                                "src": "34467:12:17"
                              },
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 9002,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "argumentTypes": null,
                                    "id": 9000,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8893,
                                    "src": "34497:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "argumentTypes": null,
                                    "id": 9001,
                                    "name": "answer_takeover_fee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8978,
                                    "src": "34512:19:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "34497:34:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 9003,
                                "nodeType": "ExpressionStatement",
                                "src": "34497:34:17"
                              }
                            ]
                          }
                        },
                        "id": 9006,
                        "nodeType": "IfStatement",
                        "src": "33166:1381:17",
                        "trueBody": {
                          "id": 8973,
                          "nodeType": "Block",
                          "src": "33193:306:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8954,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8952,
                                  "name": "payee",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8895,
                                  "src": "33340:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 8953,
                                  "name": "addr",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8897,
                                  "src": "33348:4:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "33340:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 8955,
                              "nodeType": "ExpressionStatement",
                              "src": "33340:12:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8964,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8956,
                                  "name": "queued_funds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8893,
                                  "src": "33370:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 8959,
                                          "name": "questions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 7280,
                                          "src": "33402:9:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                          }
                                        },
                                        "id": 8961,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 8960,
                                          "name": "question_id",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8889,
                                          "src": "33412:11:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "33402:22:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                                          "typeString": "struct Realitio_v2_1.Question storage ref"
                                        }
                                      },
                                      "id": 8962,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "bounty",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 7244,
                                      "src": "33402:29:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 8957,
                                      "name": "queued_funds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8893,
                                      "src": "33385:12:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 8958,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "add",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 7067,
                                    "src": "33385:16:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                      "typeString": "function (uint256,uint256) pure returns (uint256)"
                                    }
                                  },
                                  "id": 8963,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "33385:47:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "33370:62:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8965,
                              "nodeType": "ExpressionStatement",
                              "src": "33370:62:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8971,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 8966,
                                      "name": "questions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7280,
                                      "src": "33450:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                        "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                      }
                                    },
                                    "id": 8968,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 8967,
                                      "name": "question_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8889,
                                      "src": "33460:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "33450:22:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Question_$7251_storage",
                                      "typeString": "struct Realitio_v2_1.Question storage ref"
                                    }
                                  },
                                  "id": 8969,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberName": "bounty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 7244,
                                  "src": "33450:29:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 8970,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "33482:1:17",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "33450:33:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8972,
                              "nodeType": "ExpressionStatement",
                              "src": "33450:33:17"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "id": 9009,
                        "name": "queued_funds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8893,
                        "src": "34576:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9010,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8895,
                        "src": "34590:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "id": 9011,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "34575:21:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                      "typeString": "tuple(uint256,address)"
                    }
                  },
                  "functionReturnParameters": 8909,
                  "id": 9012,
                  "nodeType": "Return",
                  "src": "34568:28:17"
                }
              ]
            },
            "documentation": null,
            "id": 9014,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_processHistoryItem",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8904,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8889,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32231:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8888,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "32231:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8891,
                  "name": "best_answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32252:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8890,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "32252:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8893,
                  "name": "queued_funds",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32282:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8892,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "32282:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8895,
                  "name": "payee",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32304:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8894,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32304:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8897,
                  "name": "addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32328:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8896,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32328:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8899,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32342:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8898,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "32342:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8901,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32356:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8900,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "32356:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8903,
                  "name": "is_commitment",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32372:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8902,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "32372:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "32221:175:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8909,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8906,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32419:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8905,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "32419:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8908,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32428:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8907,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32428:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "32418:18:17"
            },
            "scope": 9301,
            "src": "32193:2411:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 9169,
              "nodeType": "Block",
              "src": "35829:723:17",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9038,
                      "name": "qi",
                      "nodeType": "VariableDeclaration",
                      "scope": 9170,
                      "src": "35848:10:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9037,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "35848:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9039,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "35848:10:17"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9041,
                      "name": "i",
                      "nodeType": "VariableDeclaration",
                      "scope": 9170,
                      "src": "35868:9:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9040,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "35868:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9042,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "35868:9:17"
                },
                {
                  "body": {
                    "id": 9164,
                    "nodeType": "Block",
                    "src": "35932:594:17",
                    "statements": [
                      {
                        "assignments": [
                          9055
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9055,
                            "name": "qid",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "35946:11:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "typeName": {
                              "id": 9054,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "35946:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9059,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9056,
                            "name": "question_ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9017,
                            "src": "35960:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "id": 9058,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 9057,
                            "name": "qi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9038,
                            "src": "35973:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "35960:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "35946:30:17"
                      },
                      {
                        "assignments": [
                          9061
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9061,
                            "name": "ln",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "35990:10:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9060,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "35990:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9065,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9062,
                            "name": "lengths",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9020,
                            "src": "36003:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9064,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 9063,
                            "name": "qi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9038,
                            "src": "36011:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "36003:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "35990:24:17"
                      },
                      {
                        "assignments": [
                          9069
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9069,
                            "name": "hh",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36028:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9067,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36028:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9068,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36028:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9075,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9073,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36064:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9072,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36050:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (bytes32[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9070,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36054:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9071,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36054:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            }
                          },
                          "id": 9074,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36050:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory",
                            "typeString": "bytes32[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36028:39:17"
                      },
                      {
                        "assignments": [
                          9079
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9079,
                            "name": "ad",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36081:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9077,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "36081:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9078,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36081:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                "typeString": "address[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9085,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9083,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36117:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9082,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36103:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (address[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9080,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "36107:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9081,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36107:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                "typeString": "address[]"
                              }
                            }
                          },
                          "id": 9084,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36103:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory",
                            "typeString": "address[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36081:39:17"
                      },
                      {
                        "assignments": [
                          9089
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9089,
                            "name": "bo",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36134:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9087,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "36134:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9088,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36134:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                                "typeString": "uint256[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9095,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9093,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36170:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9092,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36156:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (uint256[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9090,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "36160:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9091,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36160:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                                "typeString": "uint256[]"
                              }
                            }
                          },
                          "id": 9094,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36156:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36134:39:17"
                      },
                      {
                        "assignments": [
                          9099
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9099,
                            "name": "an",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36187:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9097,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36187:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9098,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36187:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9105,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9103,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36223:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9102,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36209:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (bytes32[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9100,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36213:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9101,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36213:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            }
                          },
                          "id": 9104,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36209:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory",
                            "typeString": "bytes32[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36187:39:17"
                      },
                      {
                        "assignments": [],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9107,
                            "name": "j",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36240:9:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9106,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "36240:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9108,
                        "initialValue": null,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36240:9:17"
                      },
                      {
                        "body": {
                          "id": 9154,
                          "nodeType": "Block",
                          "src": "36288:180:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9125,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9119,
                                    "name": "hh",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9069,
                                    "src": "36306:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9121,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9120,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36309:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36306:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9122,
                                    "name": "hist_hashes",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9023,
                                    "src": "36314:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9124,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9123,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36326:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36314:14:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "36306:22:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9126,
                              "nodeType": "ExpressionStatement",
                              "src": "36306:22:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9133,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9127,
                                    "name": "ad",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9079,
                                    "src": "36346:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 9129,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9128,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36349:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36346:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9130,
                                    "name": "addrs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9026,
                                    "src": "36354:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 9132,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9131,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36360:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36354:8:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "36346:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9134,
                              "nodeType": "ExpressionStatement",
                              "src": "36346:16:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9141,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9135,
                                    "name": "bo",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9089,
                                    "src": "36380:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 9137,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9136,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36383:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36380:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9138,
                                    "name": "bonds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9029,
                                    "src": "36388:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 9140,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9139,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36394:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36388:8:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "36380:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9142,
                              "nodeType": "ExpressionStatement",
                              "src": "36380:16:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9149,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9143,
                                    "name": "an",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9099,
                                    "src": "36414:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9145,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9144,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36417:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36414:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9146,
                                    "name": "answers",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9032,
                                    "src": "36422:7:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9148,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9147,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36430:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36422:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "36414:18:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9150,
                              "nodeType": "ExpressionStatement",
                              "src": "36414:18:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9152,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "36450:3:17",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 9151,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9041,
                                  "src": "36450:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9153,
                              "nodeType": "ExpressionStatement",
                              "src": "36450:3:17"
                            }
                          ]
                        },
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 9115,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 9113,
                            "name": "j",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9107,
                            "src": "36275:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 9114,
                            "name": "ln",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9061,
                            "src": "36279:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "36275:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9155,
                        "initializationExpression": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 9111,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "id": 9109,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9107,
                              "src": "36268:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9110,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "36272:1:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "src": "36268:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 9112,
                          "nodeType": "ExpressionStatement",
                          "src": "36268:5:17"
                        },
                        "loopExpression": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 9117,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "36283:3:17",
                            "subExpression": {
                              "argumentTypes": null,
                              "id": 9116,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9107,
                              "src": "36283:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 9118,
                          "nodeType": "ExpressionStatement",
                          "src": "36283:3:17"
                        },
                        "nodeType": "ForStatement",
                        "src": "36263:205:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9157,
                              "name": "qid",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9055,
                              "src": "36495:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9158,
                              "name": "hh",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9069,
                              "src": "36500:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9159,
                              "name": "ad",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9079,
                              "src": "36504:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                "typeString": "address[] memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9160,
                              "name": "bo",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9089,
                              "src": "36508:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9161,
                              "name": "an",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9099,
                              "src": "36512:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                "typeString": "address[] memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            ],
                            "id": 9156,
                            "name": "claimWinnings",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8808,
                            "src": "36481:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
                              "typeString": "function (bytes32,bytes32[] memory,address[] memory,uint256[] memory,bytes32[] memory)"
                            }
                          },
                          "id": 9162,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36481:34:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 9163,
                        "nodeType": "ExpressionStatement",
                        "src": "36481:34:17"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9050,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 9047,
                      "name": "qi",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9038,
                      "src": "35900:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 9048,
                        "name": "question_ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9017,
                        "src": "35905:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                          "typeString": "bytes32[] memory"
                        }
                      },
                      "id": 9049,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "35905:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "35900:24:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 9165,
                  "initializationExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9045,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 9043,
                        "name": "qi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9038,
                        "src": "35892:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 9044,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "35897:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "35892:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9046,
                    "nodeType": "ExpressionStatement",
                    "src": "35892:6:17"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9052,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "35926:4:17",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 9051,
                        "name": "qi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9038,
                        "src": "35926:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9053,
                    "nodeType": "ExpressionStatement",
                    "src": "35926:4:17"
                  },
                  "nodeType": "ForStatement",
                  "src": "35887:639:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 9166,
                      "name": "withdraw",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 434,
                      "src": "36535:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 9167,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "36535:10:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9168,
                  "nodeType": "ExpressionStatement",
                  "src": "36535:10:17"
                }
              ]
            },
            "documentation": "@notice Convenience function to assign bounties/bonds for multiple questions in one go, then withdraw all your funds.\n Caller must provide the answer history for each question, in reverse order\n @dev Can be called by anyone to assign bonds/bounties, but funds are only withdrawn for the user making the call.\n @param question_ids The IDs of the questions you want to claim for\n @param lengths The number of history entries you will supply for each question ID\n @param hist_hashes In a single list for all supplied questions, the hash of each history entry.\n @param addrs In a single list for all supplied questions, the address of each answerer or commitment sender\n @param bonds In a single list for all supplied questions, the bond supplied with each answer or commitment\n @param answers In a single list for all supplied questions, each answer supplied, or commitment ID ",
            "id": 9170,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 9035,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9034,
                  "name": "stateAny",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7313,
                  "src": "35741:8:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "35741:10:17"
              }
            ],
            "name": "claimMultipleAndWithdrawBalance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9033,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9017,
                  "name": "question_ids",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35599:22:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9015,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "35599:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 9016,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35599:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9020,
                  "name": "lengths",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35623:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9018,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "35623:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9019,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35623:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9023,
                  "name": "hist_hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35651:21:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9021,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "35651:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 9022,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35651:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9026,
                  "name": "addrs",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35674:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9024,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "35674:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9025,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35674:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9029,
                  "name": "bonds",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35691:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9027,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "35691:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9028,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35691:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9032,
                  "name": "answers",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35708:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9030,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "35708:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 9031,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35708:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "35589:142:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9036,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "35829:0:17"
            },
            "scope": 9301,
            "src": "35549:1003:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9182,
              "nodeType": "Block",
              "src": "36775:59:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9177,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "36792:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9179,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9178,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9172,
                        "src": "36802:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "36792:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9180,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "content_hash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7232,
                    "src": "36792:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 9176,
                  "id": 9181,
                  "nodeType": "Return",
                  "src": "36785:42:17"
                }
              ]
            },
            "documentation": "@notice Returns the questions's content hash, identifying the question content\n @param question_id The ID of the question ",
            "id": 9183,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getContentHash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9172,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9183,
                  "src": "36720:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9171,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "36720:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "36719:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9176,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9175,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9183,
                  "src": "36766:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9174,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "36766:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "36765:9:17"
            },
            "scope": 9301,
            "src": "36696:138:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9195,
              "nodeType": "Block",
              "src": "37033:57:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9190,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37050:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9192,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9191,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9185,
                        "src": "37060:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37050:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9193,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "arbitrator",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7234,
                    "src": "37050:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 9189,
                  "id": 9194,
                  "nodeType": "Return",
                  "src": "37043:40:17"
                }
              ]
            },
            "documentation": "@notice Returns the arbitrator address for the question\n @param question_id The ID of the question ",
            "id": 9196,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getArbitrator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9186,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9185,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9196,
                  "src": "36978:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9184,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "36978:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "36977:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9189,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9188,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9196,
                  "src": "37024:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9187,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "37024:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37023:9:17"
            },
            "scope": 9301,
            "src": "36955:135:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9208,
              "nodeType": "Block",
              "src": "37301:57:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9203,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37318:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9205,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9204,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9198,
                        "src": "37328:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37318:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9206,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "opening_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7236,
                    "src": "37318:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "functionReturnParameters": 9202,
                  "id": 9207,
                  "nodeType": "Return",
                  "src": "37311:40:17"
                }
              ]
            },
            "documentation": "@notice Returns the timestamp when the question can first be answered\n @param question_id The ID of the question ",
            "id": 9209,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getOpeningTS",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9199,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9198,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9209,
                  "src": "37247:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9197,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37247:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37246:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9201,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9209,
                  "src": "37293:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 9200,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37293:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37292:8:17"
            },
            "scope": 9301,
            "src": "37225:133:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9221,
              "nodeType": "Block",
              "src": "37559:54:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9216,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37576:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9218,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9217,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9211,
                        "src": "37586:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37576:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9219,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "timeout",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7238,
                    "src": "37576:30:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "functionReturnParameters": 9215,
                  "id": 9220,
                  "nodeType": "Return",
                  "src": "37569:37:17"
                }
              ]
            },
            "documentation": "@notice Returns the timeout in seconds used after each answer\n @param question_id The ID of the question ",
            "id": 9222,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getTimeout",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9212,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9211,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9222,
                  "src": "37505:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9210,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37505:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37504:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9215,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9214,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9222,
                  "src": "37551:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 9213,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37551:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37550:8:17"
            },
            "scope": 9301,
            "src": "37485:128:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9234,
              "nodeType": "Block",
              "src": "37829:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9229,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37846:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9231,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9230,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9224,
                        "src": "37856:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37846:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9232,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "37846:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "functionReturnParameters": 9228,
                  "id": 9233,
                  "nodeType": "Return",
                  "src": "37839:41:17"
                }
              ]
            },
            "documentation": "@notice Returns the timestamp at which the question will be/was finalized\n @param question_id The ID of the question ",
            "id": 9235,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getFinalizeTS",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9225,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9224,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9235,
                  "src": "37775:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9223,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37775:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37774:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9228,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9227,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9235,
                  "src": "37821:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 9226,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37821:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37820:8:17"
            },
            "scope": 9301,
            "src": "37752:135:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9247,
              "nodeType": "Block",
              "src": "38094:69:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9242,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38111:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9244,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9243,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9237,
                        "src": "38121:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38111:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9245,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "is_pending_arbitration",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7242,
                    "src": "38111:45:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 9241,
                  "id": 9246,
                  "nodeType": "Return",
                  "src": "38104:52:17"
                }
              ]
            },
            "documentation": "@notice Returns whether the question is pending arbitration\n @param question_id The ID of the question ",
            "id": 9248,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isPendingArbitration",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9238,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9237,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9248,
                  "src": "38042:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9236,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38042:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38041:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9241,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9240,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9248,
                  "src": "38088:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9239,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "38088:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38087:6:17"
            },
            "scope": 9301,
            "src": "38012:151:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9260,
              "nodeType": "Block",
              "src": "38416:53:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9255,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38433:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9257,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9256,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9250,
                        "src": "38443:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38433:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9258,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "bounty",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7244,
                    "src": "38433:29:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 9254,
                  "id": 9259,
                  "nodeType": "Return",
                  "src": "38426:36:17"
                }
              ]
            },
            "documentation": "@notice Returns the current total unclaimed bounty\n @dev Set back to zero once the bounty has been claimed\n @param question_id The ID of the question ",
            "id": 9261,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBounty",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9251,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9250,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9261,
                  "src": "38361:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9249,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38361:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38360:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9254,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9253,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9261,
                  "src": "38407:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9252,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "38407:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38406:9:17"
            },
            "scope": 9301,
            "src": "38342:127:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9273,
              "nodeType": "Block",
              "src": "38652:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9268,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38669:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9270,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9269,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9263,
                        "src": "38679:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38669:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9271,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "38669:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 9267,
                  "id": 9272,
                  "nodeType": "Return",
                  "src": "38662:41:17"
                }
              ]
            },
            "documentation": "@notice Returns the current best answer\n @param question_id The ID of the question ",
            "id": 9274,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBestAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9264,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9263,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9274,
                  "src": "38597:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9262,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38597:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38596:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9266,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9274,
                  "src": "38643:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9265,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38643:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38642:9:17"
            },
            "scope": 9301,
            "src": "38574:136:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9286,
              "nodeType": "Block",
              "src": "38973:59:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9281,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38990:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9283,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9282,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9276,
                        "src": "39000:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38990:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9284,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "history_hash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7248,
                    "src": "38990:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 9280,
                  "id": 9285,
                  "nodeType": "Return",
                  "src": "38983:42:17"
                }
              ]
            },
            "documentation": "@notice Returns the history hash of the question \n @param question_id The ID of the question \n @dev Updated on each answer, then rewound as each is claimed",
            "id": 9287,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getHistoryHash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9277,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9276,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9287,
                  "src": "38918:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9275,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38918:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38917:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9280,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9279,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9287,
                  "src": "38964:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9278,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38964:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38963:9:17"
            },
            "scope": 9301,
            "src": "38894:138:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9299,
              "nodeType": "Block",
              "src": "39231:51:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9294,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "39248:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9296,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9295,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9289,
                        "src": "39258:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "39248:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9297,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "bond",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7250,
                    "src": "39248:27:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 9293,
                  "id": 9298,
                  "nodeType": "Return",
                  "src": "39241:34:17"
                }
              ]
            },
            "documentation": "@notice Returns the highest bond posted so far for a question\n @param question_id The ID of the question ",
            "id": 9300,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBond",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9290,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9289,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9300,
                  "src": "39176:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9288,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "39176:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "39175:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9293,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9292,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9300,
                  "src": "39222:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9291,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "39222:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "39221:9:17"
            },
            "scope": 9301,
            "src": "39159:123:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 9302,
        "src": "306:38979:17"
      }
    ],
    "src": "0:39286:17"
  },
  "legacyAST": {
    "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/Realitio_v2_1.sol",
    "exportedSymbols": {
      "Realitio_v2_1": [
        9301
      ]
    },
    "id": 9302,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 7097,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:17"
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/RealitioSafeMath256.sol",
        "file": "./RealitioSafeMath256.sol",
        "id": 7098,
        "nodeType": "ImportDirective",
        "scope": 9302,
        "sourceUnit": 7069,
        "src": "26:35:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/RealitioSafeMath32.sol",
        "file": "./RealitioSafeMath32.sol",
        "id": 7099,
        "nodeType": "ImportDirective",
        "scope": 9302,
        "sourceUnit": 7096,
        "src": "62:34:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/ed/working/realitio-contracts/truffle/contracts/BalanceHolder.sol",
        "file": "./BalanceHolder.sol",
        "id": 7100,
        "nodeType": "ImportDirective",
        "scope": 9302,
        "sourceUnit": 436,
        "src": "97:29:17",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 7101,
              "name": "BalanceHolder",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 435,
              "src": "332:13:17",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BalanceHolder_$435",
                "typeString": "contract BalanceHolder"
              }
            },
            "id": 7102,
            "nodeType": "InheritanceSpecifier",
            "src": "332:13:17"
          }
        ],
        "contractDependencies": [
          435
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 9301,
        "linearizedBaseContracts": [
          9301,
          435
        ],
        "name": "Realitio_v2_1",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 7105,
            "libraryName": {
              "contractScope": null,
              "id": 7103,
              "name": "RealitioSafeMath256",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7068,
              "src": "359:19:17",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RealitioSafeMath256_$7068",
                "typeString": "library RealitioSafeMath256"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "353:38:17",
            "typeName": {
              "id": 7104,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "383:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 7108,
            "libraryName": {
              "contractScope": null,
              "id": 7106,
              "name": "RealitioSafeMath32",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7095,
              "src": "402:18:17",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RealitioSafeMath32_$7095",
                "typeString": "library RealitioSafeMath32"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "396:36:17",
            "typeName": {
              "id": 7107,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "425:6:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            }
          },
          {
            "constant": true,
            "id": 7113,
            "name": "NULL_ADDRESS",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "438:42:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 7109,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "438:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "hexValue": "30",
                  "id": 7111,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "478:1:17",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  },
                  "value": "0"
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  }
                ],
                "id": 7110,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "470:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_address_$",
                  "typeString": "type(address)"
                },
                "typeName": "address"
              },
              "id": 7112,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "470:10:17",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7118,
            "name": "NULL_HASH",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "563:39:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 7114,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "563:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "hexValue": "30",
                  "id": 7116,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "600:1:17",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  },
                  "value": "0"
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_rational_0_by_1",
                    "typeString": "int_const 0"
                  }
                ],
                "id": 7115,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "592:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_bytes32_$",
                  "typeString": "type(bytes32)"
                },
                "typeName": "bytes32"
              },
              "id": 7117,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "592:10:17",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7121,
            "name": "UNANSWERED",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "697:30:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 7119,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "697:6:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 7120,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "726:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7124,
            "name": "COMMITMENT_NON_EXISTENT",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "820:44:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 7122,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "820:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 7123,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "863:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7127,
            "name": "COMMITMENT_TIMEOUT_RATIO",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "948:44:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 7125,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "948:6:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "38",
              "id": 7126,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "991:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_8_by_1",
                "typeString": "int_const 8"
              },
              "value": "8"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 7130,
            "name": "BOND_CLAIM_FEE_PROPORTION",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "1058:47:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 7128,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1058:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3430",
              "id": 7129,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1103:2:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_40_by_1",
                "typeString": "int_const 40"
              },
              "value": "40"
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7136,
            "name": "LogSetQuestionFee",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7135,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7132,
                  "indexed": false,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7136,
                  "src": "1165:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7131,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1165:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7134,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 7136,
                  "src": "1193:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7133,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1193:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1155:58:17"
            },
            "src": "1132:82:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7144,
            "name": "LogNewTemplate",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7143,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7138,
                  "indexed": true,
                  "name": "template_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7144,
                  "src": "1250:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7137,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1250:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7140,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7144,
                  "src": "1287:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7139,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1287:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7142,
                  "indexed": false,
                  "name": "question_text",
                  "nodeType": "VariableDeclaration",
                  "scope": 7144,
                  "src": "1318:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7141,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1318:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1240:104:17"
            },
            "src": "1220:125:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7166,
            "name": "LogNewQuestion",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7165,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7146,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1381:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7145,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1381:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7148,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1418:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7147,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1418:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7150,
                  "indexed": false,
                  "name": "template_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1449:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7149,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1449:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7152,
                  "indexed": false,
                  "name": "question",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1478:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7151,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1478:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7154,
                  "indexed": true,
                  "name": "content_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1503:28:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7153,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1503:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7156,
                  "indexed": false,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1541:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7155,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1541:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7158,
                  "indexed": false,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1570:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7157,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1570:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7160,
                  "indexed": false,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1594:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7159,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1594:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7162,
                  "indexed": false,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1621:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7161,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1621:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7164,
                  "indexed": false,
                  "name": "created",
                  "nodeType": "VariableDeclaration",
                  "scope": 7166,
                  "src": "1644:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7163,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1644:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1371:294:17"
            },
            "src": "1351:315:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7176,
            "name": "LogFundAnswerBounty",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7168,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1707:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7167,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1707:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7170,
                  "indexed": false,
                  "name": "bounty_added",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1744:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7169,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1744:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7172,
                  "indexed": false,
                  "name": "bounty",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1774:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7171,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1774:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7174,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7176,
                  "src": "1798:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7173,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1798:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1697:128:17"
            },
            "src": "1672:154:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7192,
            "name": "LogNewAnswer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7191,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7178,
                  "indexed": false,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1860:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7177,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1860:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7180,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1884:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7179,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1884:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7182,
                  "indexed": false,
                  "name": "history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1921:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7181,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1921:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7184,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1951:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7183,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1951:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7186,
                  "indexed": false,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "1981:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7185,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1981:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7188,
                  "indexed": false,
                  "name": "ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "2003:10:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7187,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2003:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7190,
                  "indexed": false,
                  "name": "is_commitment",
                  "nodeType": "VariableDeclaration",
                  "scope": 7192,
                  "src": "2023:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7189,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2023:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1850:197:17"
            },
            "src": "1832:216:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7206,
            "name": "LogAnswerReveal",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7205,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7194,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2085:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7193,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2085:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7196,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2123:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7195,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2123:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7198,
                  "indexed": true,
                  "name": "answer_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2154:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7197,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2154:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7200,
                  "indexed": false,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2192:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7199,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2192:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7202,
                  "indexed": false,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2217:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7201,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2217:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7204,
                  "indexed": false,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 7206,
                  "src": "2241:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7203,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2241:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2075:184:17"
            },
            "src": "2054:206:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7212,
            "name": "LogNotifyOfArbitrationRequest",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7211,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7208,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7212,
                  "src": "2311:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7207,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2311:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7210,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7212,
                  "src": "2348:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7209,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2348:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2301:74:17"
            },
            "src": "2266:110:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7216,
            "name": "LogCancelArbitration",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7215,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7214,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7216,
                  "src": "2418:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7213,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2418:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2408:43:17"
            },
            "src": "2382:70:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7222,
            "name": "LogFinalize",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7221,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7218,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7222,
                  "src": "2485:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7217,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2485:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7220,
                  "indexed": true,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7222,
                  "src": "2522:22:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7219,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2522:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2475:75:17"
            },
            "src": "2458:93:17"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7230,
            "name": "LogClaim",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7229,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7224,
                  "indexed": true,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7230,
                  "src": "2581:27:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7223,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2581:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7226,
                  "indexed": true,
                  "name": "user",
                  "nodeType": "VariableDeclaration",
                  "scope": 7230,
                  "src": "2618:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7225,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2618:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7228,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 7230,
                  "src": "2648:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7227,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2648:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2571:97:17"
            },
            "src": "2557:112:17"
          },
          {
            "canonicalName": "Realitio_v2_1.Question",
            "id": 7251,
            "members": [
              {
                "constant": false,
                "id": 7232,
                "name": "content_hash",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2701:20:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7231,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2701:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7234,
                "name": "arbitrator",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2731:18:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 7233,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2731:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7236,
                "name": "opening_ts",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2759:17:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7235,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2759:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7238,
                "name": "timeout",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2786:14:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7237,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2786:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7240,
                "name": "finalize_ts",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2810:18:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7239,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2810:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7242,
                "name": "is_pending_arbitration",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2838:27:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 7241,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "2838:4:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7244,
                "name": "bounty",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2875:14:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7243,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2875:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7246,
                "name": "best_answer",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2899:19:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7245,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2899:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7248,
                "name": "history_hash",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2928:20:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7247,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2928:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7250,
                "name": "bond",
                "nodeType": "VariableDeclaration",
                "scope": 7251,
                "src": "2958:12:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7249,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2958:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Question",
            "nodeType": "StructDefinition",
            "scope": 9301,
            "src": "2675:302:17",
            "visibility": "public"
          },
          {
            "canonicalName": "Realitio_v2_1.Commitment",
            "id": 7258,
            "members": [
              {
                "constant": false,
                "id": 7253,
                "name": "reveal_ts",
                "nodeType": "VariableDeclaration",
                "scope": 7258,
                "src": "3108:16:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint32",
                  "typeString": "uint32"
                },
                "typeName": {
                  "id": 7252,
                  "name": "uint32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3108:6:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7255,
                "name": "is_revealed",
                "nodeType": "VariableDeclaration",
                "scope": 7258,
                "src": "3134:16:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 7254,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "3134:4:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7257,
                "name": "revealed_answer",
                "nodeType": "VariableDeclaration",
                "scope": 7258,
                "src": "3160:23:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 7256,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3160:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Commitment",
            "nodeType": "StructDefinition",
            "scope": 9301,
            "src": "3080:110:17",
            "visibility": "public"
          },
          {
            "canonicalName": "Realitio_v2_1.Claim",
            "id": 7265,
            "members": [
              {
                "constant": false,
                "id": 7260,
                "name": "payee",
                "nodeType": "VariableDeclaration",
                "scope": 7265,
                "src": "3341:13:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 7259,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3341:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7262,
                "name": "last_bond",
                "nodeType": "VariableDeclaration",
                "scope": 7265,
                "src": "3364:17:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7261,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3364:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 7264,
                "name": "queued_funds",
                "nodeType": "VariableDeclaration",
                "scope": 7265,
                "src": "3391:20:17",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 7263,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3391:7:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Claim",
            "nodeType": "StructDefinition",
            "scope": 9301,
            "src": "3318:100:17",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7268,
            "name": "nextTemplateID",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3424:26:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 7266,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "3424:7:17",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 7267,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "3449:1:17",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 7272,
            "name": "templates",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3456:44:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
              "typeString": "mapping(uint256 => uint256)"
            },
            "typeName": {
              "id": 7271,
              "keyType": {
                "id": 7269,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3464:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "3456:27:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
                "typeString": "mapping(uint256 => uint256)"
              },
              "valueType": {
                "id": 7270,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3475:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7276,
            "name": "template_hashes",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3506:50:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$",
              "typeString": "mapping(uint256 => bytes32)"
            },
            "typeName": {
              "id": 7275,
              "keyType": {
                "id": 7273,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3514:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "3506:27:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$",
                "typeString": "mapping(uint256 => bytes32)"
              },
              "valueType": {
                "id": 7274,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3525:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7280,
            "name": "questions",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3562:45:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question)"
            },
            "typeName": {
              "id": 7279,
              "keyType": {
                "id": 7277,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3570:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "3562:28:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question)"
              },
              "valueType": {
                "contractScope": null,
                "id": 7278,
                "name": "Question",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 7251,
                "src": "3581:8:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Question_$7251_storage_ptr",
                  "typeString": "struct Realitio_v2_1.Question"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7284,
            "name": "question_claims",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3613:48:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim)"
            },
            "typeName": {
              "id": 7283,
              "keyType": {
                "id": 7281,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3621:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "3613:25:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim)"
              },
              "valueType": {
                "contractScope": null,
                "id": 7282,
                "name": "Claim",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 7265,
                "src": "3632:5:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Claim_$7265_storage_ptr",
                  "typeString": "struct Realitio_v2_1.Claim"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7288,
            "name": "commitments",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3667:49:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment)"
            },
            "typeName": {
              "id": 7287,
              "keyType": {
                "id": 7285,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "3675:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "3667:30:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment)"
              },
              "valueType": {
                "contractScope": null,
                "id": 7286,
                "name": "Commitment",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 7258,
                "src": "3686:10:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Commitment_$7258_storage_ptr",
                  "typeString": "struct Realitio_v2_1.Commitment"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 7292,
            "name": "arbitrator_question_fees",
            "nodeType": "VariableDeclaration",
            "scope": 9301,
            "src": "3722:59:17",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 7291,
              "keyType": {
                "id": 7289,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "3730:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "3722:27:17",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 7290,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "3741:7:17",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7308,
              "nodeType": "Block",
              "src": "3834:117:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 7303,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7297,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "3852:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7298,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3852:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7299,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "3866:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7301,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7300,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7294,
                              "src": "3876:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3866:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7302,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "arbitrator",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7234,
                          "src": "3866:33:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "3852:47:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6d73672e73656e646572206d7573742062652061726269747261746f72",
                        "id": 7304,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3901:31:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5af564fa249397c704c7c39694db25de233707a7dfa60dd4e063a5865f683bf0",
                          "typeString": "literal_string \"msg.sender must be arbitrator\""
                        },
                        "value": "msg.sender must be arbitrator"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5af564fa249397c704c7c39694db25de233707a7dfa60dd4e063a5865f683bf0",
                          "typeString": "literal_string \"msg.sender must be arbitrator\""
                        }
                      ],
                      "id": 7296,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "3844:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3844:89:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7306,
                  "nodeType": "ExpressionStatement",
                  "src": "3844:89:17"
                },
                {
                  "id": 7307,
                  "nodeType": "PlaceholderStatement",
                  "src": "3943:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7309,
            "name": "onlyArbitrator",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7295,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7294,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7309,
                  "src": "3813:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7293,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3813:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3812:21:17"
            },
            "src": "3789:162:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7312,
              "nodeType": "Block",
              "src": "3977:18:17",
              "statements": [
                {
                  "id": 7311,
                  "nodeType": "PlaceholderStatement",
                  "src": "3987:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7313,
            "name": "stateAny",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7310,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3974:2:17"
            },
            "src": "3957:38:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7328,
              "nodeType": "Block",
              "src": "4047:99:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7323,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7318,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "4065:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7320,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7319,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7315,
                              "src": "4075:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4065:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7321,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "4065:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7322,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4099:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4065:35:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206e6f74206578697374",
                        "id": 7324,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4102:25:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9422abd8923f5fcae9417fb15deac6177aedec6abb4620f33db030efb4ed0419",
                          "typeString": "literal_string \"question must not exist\""
                        },
                        "value": "question must not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9422abd8923f5fcae9417fb15deac6177aedec6abb4620f33db030efb4ed0419",
                          "typeString": "literal_string \"question must not exist\""
                        }
                      ],
                      "id": 7317,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4057:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7325,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4057:71:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7326,
                  "nodeType": "ExpressionStatement",
                  "src": "4057:71:17"
                },
                {
                  "id": 7327,
                  "nodeType": "PlaceholderStatement",
                  "src": "4138:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7329,
            "name": "stateNotCreated",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7315,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7329,
                  "src": "4026:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7314,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4026:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4025:21:17"
            },
            "src": "4001:145:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7393,
              "nodeType": "Block",
              "src": "4192:547:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7339,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7334,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "4210:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7336,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7335,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7331,
                              "src": "4220:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4210:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7337,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "4210:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7338,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4243:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4210:34:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206578697374",
                        "id": 7340,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4246:21:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        },
                        "value": "question must exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        }
                      ],
                      "id": 7333,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4202:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7341,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4202:66:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7342,
                  "nodeType": "ExpressionStatement",
                  "src": "4202:66:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7348,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "4286:46:17",
                        "subExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7344,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "4287:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7346,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7345,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7331,
                              "src": "4297:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4287:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7347,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "is_pending_arbitration",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7242,
                          "src": "4287:45:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206e6f742062652070656e64696e67206172626974726174696f6e",
                        "id": 7349,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4334:42:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e0d7c56d5455922671038afc010672319828847765f75d021ca63b233340fb79",
                          "typeString": "literal_string \"question must not be pending arbitration\""
                        },
                        "value": "question must not be pending arbitration"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e0d7c56d5455922671038afc010672319828847765f75d021ca63b233340fb79",
                          "typeString": "literal_string \"question must not be pending arbitration\""
                        }
                      ],
                      "id": 7343,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4278:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7350,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4278:99:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7351,
                  "nodeType": "ExpressionStatement",
                  "src": "4278:99:17"
                },
                {
                  "assignments": [
                    7353
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7353,
                      "name": "finalize_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7394,
                      "src": "4387:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7352,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4387:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7358,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7354,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "4408:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7356,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7355,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7331,
                        "src": "4418:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4408:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7357,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "4408:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4387:55:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7368,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7362,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7360,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7353,
                            "src": "4460:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 7361,
                            "name": "UNANSWERED",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7121,
                            "src": "4475:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "4460:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7367,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7363,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7353,
                            "src": "4489:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7365,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "4510:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7364,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4503:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7366,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4503:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "4489:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4460:54:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66696e616c697a6174696f6e20646561646c696e65206d757374206e6f74206861766520706173736564",
                        "id": 7369,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4516:44:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_381ca4d13deaf278dc64e461f023657740bec9f7b7a71cf63c10807ee5f2d777",
                          "typeString": "literal_string \"finalization deadline must not have passed\""
                        },
                        "value": "finalization deadline must not have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_381ca4d13deaf278dc64e461f023657740bec9f7b7a71cf63c10807ee5f2d777",
                          "typeString": "literal_string \"finalization deadline must not have passed\""
                        }
                      ],
                      "id": 7359,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4452:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7370,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4452:109:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7371,
                  "nodeType": "ExpressionStatement",
                  "src": "4452:109:17"
                },
                {
                  "assignments": [
                    7373
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7373,
                      "name": "opening_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7394,
                      "src": "4571:17:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7372,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4571:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7378,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7374,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "4591:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7376,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7375,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7331,
                        "src": "4601:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4591:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7377,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "opening_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7236,
                    "src": "4591:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4571:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7388,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7382,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7380,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7373,
                            "src": "4642:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 7381,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4656:1:17",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4642:15:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7387,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7383,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7373,
                            "src": "4661:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7385,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "4682:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7384,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4675:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7386,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4675:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "4661:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4642:44:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6f70656e696e672064617465206d757374206861766520706173736564",
                        "id": 7389,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4688:31:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        },
                        "value": "opening date must have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        }
                      ],
                      "id": 7379,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4634:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7390,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4634:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7391,
                  "nodeType": "ExpressionStatement",
                  "src": "4634:86:17"
                },
                {
                  "id": 7392,
                  "nodeType": "PlaceholderStatement",
                  "src": "4731:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7394,
            "name": "stateOpen",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7332,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7331,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7394,
                  "src": "4171:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7330,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4171:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4170:21:17"
            },
            "src": "4152:587:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7407,
              "nodeType": "Block",
              "src": "4799:122:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7399,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "4817:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7401,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7400,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7396,
                            "src": "4827:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "4817:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7402,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "is_pending_arbitration",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7242,
                        "src": "4817:45:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d7573742062652070656e64696e67206172626974726174696f6e",
                        "id": 7403,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4864:38:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_4f7d8d6d43d9c6b0643db0ab03bfd160dd192eaa68b6c3b38d0d94803ffac248",
                          "typeString": "literal_string \"question must be pending arbitration\""
                        },
                        "value": "question must be pending arbitration"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_4f7d8d6d43d9c6b0643db0ab03bfd160dd192eaa68b6c3b38d0d94803ffac248",
                          "typeString": "literal_string \"question must be pending arbitration\""
                        }
                      ],
                      "id": 7398,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4809:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7404,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4809:94:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7405,
                  "nodeType": "ExpressionStatement",
                  "src": "4809:94:17"
                },
                {
                  "id": 7406,
                  "nodeType": "PlaceholderStatement",
                  "src": "4913:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7408,
            "name": "statePendingArbitration",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7397,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7396,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7408,
                  "src": "4778:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7395,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4778:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4777:21:17"
            },
            "src": "4745:176:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7463,
              "nodeType": "Block",
              "src": "4987:437:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7418,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7413,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "5005:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7415,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7414,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7410,
                              "src": "5015:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5005:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7416,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "5005:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7417,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5038:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5005:34:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d757374206578697374",
                        "id": 7419,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5041:21:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        },
                        "value": "question must exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_472769862e940c55535785d7e47562583d0c118be9a62024347d29ed8338806b",
                          "typeString": "literal_string \"question must exist\""
                        }
                      ],
                      "id": 7412,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "4997:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7420,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4997:66:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7421,
                  "nodeType": "ExpressionStatement",
                  "src": "4997:66:17"
                },
                {
                  "assignments": [
                    7423
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7423,
                      "name": "finalize_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7464,
                      "src": "5073:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7422,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "5073:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7428,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7424,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "5094:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7426,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7425,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7410,
                        "src": "5104:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5094:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7427,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "5094:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5073:55:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7438,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7432,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7430,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7423,
                            "src": "5146:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 7431,
                            "name": "UNANSWERED",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7121,
                            "src": "5161:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "5146:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7437,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7433,
                            "name": "finalize_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7423,
                            "src": "5175:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7435,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "5196:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7434,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5189:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7436,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5189:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "5175:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5146:54:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66696e616c697a6174696f6e206465616c696e65206d757374206e6f74206861766520706173736564",
                        "id": 7439,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5202:43:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_8f540895d8d15453e87897307cb8351f2857abfee4e235e10c3b3c286692a622",
                          "typeString": "literal_string \"finalization dealine must not have passed\""
                        },
                        "value": "finalization dealine must not have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_8f540895d8d15453e87897307cb8351f2857abfee4e235e10c3b3c286692a622",
                          "typeString": "literal_string \"finalization dealine must not have passed\""
                        }
                      ],
                      "id": 7429,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5138:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7440,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5138:108:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7441,
                  "nodeType": "ExpressionStatement",
                  "src": "5138:108:17"
                },
                {
                  "assignments": [
                    7443
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7443,
                      "name": "opening_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 7464,
                      "src": "5256:17:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7442,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "5256:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7448,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7444,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "5276:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 7446,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7445,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7410,
                        "src": "5286:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5276:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 7447,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "opening_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7236,
                    "src": "5276:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5256:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 7458,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7452,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7450,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7443,
                            "src": "5327:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 7451,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5341:1:17",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5327:15:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          },
                          "id": 7457,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 7453,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7443,
                            "src": "5346:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7455,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9705,
                                "src": "5367:3:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 7454,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5360:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint32_$",
                                "typeString": "type(uint32)"
                              },
                              "typeName": "uint32"
                            },
                            "id": 7456,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5360:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          "src": "5346:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5327:44:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6f70656e696e672064617465206d757374206861766520706173736564",
                        "id": 7459,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5373:31:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        },
                        "value": "opening date must have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5963fbf852ce76142d772c6ce4c8614e81ba76b348890013b4cd0addd58b31b3",
                          "typeString": "literal_string \"opening date must have passed\""
                        }
                      ],
                      "id": 7449,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5319:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7460,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5319:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7461,
                  "nodeType": "ExpressionStatement",
                  "src": "5319:86:17"
                },
                {
                  "id": 7462,
                  "nodeType": "PlaceholderStatement",
                  "src": "5416:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7464,
            "name": "stateOpenOrPendingArbitration",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7411,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7410,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7464,
                  "src": "4966:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7409,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4966:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4965:21:17"
            },
            "src": "4927:497:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7476,
              "nodeType": "Block",
              "src": "5475:91:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7470,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7466,
                            "src": "5505:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 7469,
                          "name": "isFinalized",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8494,
                          "src": "5493:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 7471,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5493:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7175657374696f6e206d7573742062652066696e616c697a6564",
                        "id": 7472,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5519:28:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7678ea862d4110864dbd24145ec43051bb85f78d8eeb3bbb14a3533dd60847c8",
                          "typeString": "literal_string \"question must be finalized\""
                        },
                        "value": "question must be finalized"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7678ea862d4110864dbd24145ec43051bb85f78d8eeb3bbb14a3533dd60847c8",
                          "typeString": "literal_string \"question must be finalized\""
                        }
                      ],
                      "id": 7468,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5485:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7473,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5485:63:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7474,
                  "nodeType": "ExpressionStatement",
                  "src": "5485:63:17"
                },
                {
                  "id": 7475,
                  "nodeType": "PlaceholderStatement",
                  "src": "5558:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7477,
            "name": "stateFinalized",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7467,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7466,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7477,
                  "src": "5454:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7465,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5454:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5453:21:17"
            },
            "src": "5430:136:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7505,
              "nodeType": "Block",
              "src": "5617:190:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7485,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7482,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "5635:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5635:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7484,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5647:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5635:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "626f6e64206d75737420626520706f736974697665",
                        "id": 7486,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5650:23:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b3c9ee472042e2067e6f11b009a7238c6ed21a4872f0b12d2abbe4092d3c0b88",
                          "typeString": "literal_string \"bond must be positive\""
                        },
                        "value": "bond must be positive"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b3c9ee472042e2067e6f11b009a7238c6ed21a4872f0b12d2abbe4092d3c0b88",
                          "typeString": "literal_string \"bond must be positive\""
                        }
                      ],
                      "id": 7481,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5627:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7487,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5627:47:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7488,
                  "nodeType": "ExpressionStatement",
                  "src": "5627:47:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7500,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7490,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "5693:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7491,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5693:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "hexValue": "32",
                                  "id": 7497,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5739:1:17",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  },
                                  "value": "2"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 7492,
                                      "name": "questions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7280,
                                      "src": "5707:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                        "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                      }
                                    },
                                    "id": 7494,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 7493,
                                      "name": "question_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7479,
                                      "src": "5717:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5707:22:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Question_$7251_storage",
                                      "typeString": "struct Realitio_v2_1.Question storage ref"
                                    }
                                  },
                                  "id": 7495,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "bond",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 7250,
                                  "src": "5707:27:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 7496,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "mul",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7005,
                                "src": "5707:31:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 7498,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5707:34:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 7499,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "5706:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5693:49:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "626f6e64206d75737420626520646f75626c65206174206c656173742070726576696f757320626f6e64",
                        "id": 7501,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5744:44:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_65ffa1219e4f08f995c93eadfebcd61b4db428d3222f9b65896f079b3b960d3d",
                          "typeString": "literal_string \"bond must be double at least previous bond\""
                        },
                        "value": "bond must be double at least previous bond"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_65ffa1219e4f08f995c93eadfebcd61b4db428d3222f9b65896f079b3b960d3d",
                          "typeString": "literal_string \"bond must be double at least previous bond\""
                        }
                      ],
                      "id": 7489,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "5685:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7502,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5685:104:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7503,
                  "nodeType": "ExpressionStatement",
                  "src": "5685:104:17"
                },
                {
                  "id": 7504,
                  "nodeType": "PlaceholderStatement",
                  "src": "5799:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7506,
            "name": "bondMustDouble",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7479,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7506,
                  "src": "5596:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7478,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5596:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5595:21:17"
            },
            "src": "5572:235:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7528,
              "nodeType": "Block",
              "src": "5900:159:17",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 7514,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 7512,
                      "name": "max_previous",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7510,
                      "src": "5914:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 7513,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5929:1:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5914:16:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7526,
                  "nodeType": "IfStatement",
                  "src": "5910:132:17",
                  "trueBody": {
                    "id": 7525,
                    "nodeType": "Block",
                    "src": "5932:110:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 7521,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 7516,
                                    "name": "questions",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7280,
                                    "src": "5954:9:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                    }
                                  },
                                  "id": 7518,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 7517,
                                    "name": "question_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7508,
                                    "src": "5964:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "5954:22:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Question_$7251_storage",
                                    "typeString": "struct Realitio_v2_1.Question storage ref"
                                  }
                                },
                                "id": 7519,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "bond",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7250,
                                "src": "5954:27:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 7520,
                                "name": "max_previous",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7510,
                                "src": "5985:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "5954:43:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "626f6e64206d75737420657863656564206d61785f70726576696f7573",
                              "id": 7522,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5999:31:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_86da50f4411a4001f63186489f5e9177ab1df516512e13b6a709fd5c2385c100",
                                "typeString": "literal_string \"bond must exceed max_previous\""
                              },
                              "value": "bond must exceed max_previous"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_86da50f4411a4001f63186489f5e9177ab1df516512e13b6a709fd5c2385c100",
                                "typeString": "literal_string \"bond must exceed max_previous\""
                              }
                            ],
                            "id": 7515,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9706,
                              9707
                            ],
                            "referencedDeclaration": 9707,
                            "src": "5946:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 7523,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5946:85:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7524,
                        "nodeType": "ExpressionStatement",
                        "src": "5946:85:17"
                      }
                    ]
                  }
                },
                {
                  "id": 7527,
                  "nodeType": "PlaceholderStatement",
                  "src": "6051:1:17"
                }
              ]
            },
            "documentation": null,
            "id": 7529,
            "name": "previousBondMustNotBeatMaxPrevious",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 7511,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7508,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7529,
                  "src": "5857:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7507,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5857:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7510,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 7529,
                  "src": "5878:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7509,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5878:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5856:43:17"
            },
            "src": "5813:246:17",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7552,
              "nodeType": "Block",
              "src": "6246:538:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a2022626f6f6c222c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7533,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6271:65:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2630d91f54445fa42ec6738610b1a4c52b08a197156ab2ed97e4e17201528f2f",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"bool\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"bool\", \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_2630d91f54445fa42ec6738610b1a4c52b08a197156ab2ed97e4e17201528f2f",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"bool\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7532,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6256:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7534,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6256:81:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7535,
                  "nodeType": "ExpressionStatement",
                  "src": "6256:81:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a202275696e74222c2022646563696d616c73223a2031382c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7537,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6362:81:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f006792a99a5de2495a30060356c53fdfd8cd04c53ad3402c5353035dc6b9589",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"uint\", \"decimals\": 18, \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"uint\", \"decimals\": 18, \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_f006792a99a5de2495a30060356c53fdfd8cd04c53ad3402c5353035dc6b9589",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"uint\", \"decimals\": 18, \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7536,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6347:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7538,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6347:97:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7539,
                  "nodeType": "ExpressionStatement",
                  "src": "6347:97:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a202273696e676c652d73656c656374222c20226f7574636f6d6573223a205b25735d2c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7541,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6469:92:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e49d22c3fb3eac70dc2d9d76aa17b7e4b487f2f4b7c683f3705b638453520000",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"single-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"single-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_e49d22c3fb3eac70dc2d9d76aa17b7e4b487f2f4b7c683f3705b638453520000",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"single-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7540,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6454:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7542,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6454:108:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7543,
                  "nodeType": "ExpressionStatement",
                  "src": "6454:108:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a20226d756c7469706c652d73656c656374222c20226f7574636f6d6573223a205b25735d2c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7545,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6587:94:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1d41a41b7d3550c01209c10495988bfa01dd2e86c5a3fae5f9dbc2ccde20c1a9",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"multiple-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"multiple-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_1d41a41b7d3550c01209c10495988bfa01dd2e86c5a3fae5f9dbc2ccde20c1a9",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"multiple-select\", \"outcomes\": [%s], \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7544,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6572:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7546,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6572:110:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7547,
                  "nodeType": "ExpressionStatement",
                  "src": "6572:110:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "7b227469746c65223a20222573222c202274797065223a20226461746574696d65222c202263617465676f7279223a20222573222c20226c616e67223a20222573227d",
                        "id": 7549,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6707:69:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5b13a2ad9e4dfbf057ecf2c35d4152b61718a3ab46a14db63feb17b1515749ba",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"datetime\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        },
                        "value": "{\"title\": \"%s\", \"type\": \"datetime\", \"category\": \"%s\", \"lang\": \"%s\"}"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_5b13a2ad9e4dfbf057ecf2c35d4152b61718a3ab46a14db63feb17b1515749ba",
                          "typeString": "literal_string \"{\"title\": \"%s\", \"type\": \"datetime\", \"category\": \"%s\", \"lang\": \"%s\"}\""
                        }
                      ],
                      "id": 7548,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "6692:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7550,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6692:85:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7551,
                  "nodeType": "ExpressionStatement",
                  "src": "6692:85:17"
                }
              ]
            },
            "documentation": "@notice Constructor, sets up some initial templates\n @dev Creates some generalized templates for different question types used in the DApp.",
            "id": 7553,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7530,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6231:2:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7531,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6246:0:17"
            },
            "scope": 9301,
            "src": "6220:564:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7573,
              "nodeType": "Block",
              "src": "7129:108:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7565,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7560,
                        "name": "arbitrator_question_fees",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7292,
                        "src": "7139:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 7563,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7561,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "7164:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7562,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "7164:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "7139:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7564,
                      "name": "fee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7555,
                      "src": "7178:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7139:42:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7566,
                  "nodeType": "ExpressionStatement",
                  "src": "7139:42:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7568,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "7214:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7569,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "7214:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7570,
                        "name": "fee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7555,
                        "src": "7226:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 7567,
                      "name": "LogSetQuestionFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7136,
                      "src": "7196:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 7571,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7196:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7572,
                  "nodeType": "EmitStatement",
                  "src": "7191:39:17"
                }
              ]
            },
            "documentation": "@notice Function for arbitrator to set an optional per-question fee. \n @dev The per-question fee, charged when a question is asked, is intended as an anti-spam measure.\n @param fee The fee to be charged by the arbitrator when a question is asked",
            "id": 7574,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 7558,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7557,
                  "name": "stateAny",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7313,
                  "src": "7104:8:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7104:10:17"
              }
            ],
            "name": "setQuestionFee",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7556,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7555,
                  "name": "fee",
                  "nodeType": "VariableDeclaration",
                  "scope": 7574,
                  "src": "7082:11:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7554,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7082:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7081:13:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7559,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7129:0:17"
            },
            "scope": 9301,
            "src": "7058:179:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 7621,
              "nodeType": "Block",
              "src": "7706:259:17",
              "statements": [
                {
                  "assignments": [
                    7584
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7584,
                      "name": "id",
                      "nodeType": "VariableDeclaration",
                      "scope": 7622,
                      "src": "7716:10:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7583,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "7716:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7586,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 7585,
                    "name": "nextTemplateID",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7268,
                    "src": "7729:14:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7716:27:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7592,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7587,
                        "name": "templates",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7272,
                        "src": "7753:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
                          "typeString": "mapping(uint256 => uint256)"
                        }
                      },
                      "id": 7589,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7588,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7584,
                        "src": "7763:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "7753:13:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7590,
                        "name": "block",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9693,
                        "src": "7769:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_block",
                          "typeString": "block"
                        }
                      },
                      "id": 7591,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "number",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "7769:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7753:28:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7593,
                  "nodeType": "ExpressionStatement",
                  "src": "7753:28:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7603,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 7594,
                        "name": "template_hashes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7276,
                        "src": "7791:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$",
                          "typeString": "mapping(uint256 => bytes32)"
                        }
                      },
                      "id": 7596,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 7595,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7584,
                        "src": "7807:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "7791:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7600,
                              "name": "content",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7576,
                              "src": "7840:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 7598,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9690,
                              "src": "7823:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 7599,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "7823:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 7601,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7823:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 7597,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9697,
                        "src": "7813:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 7602,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7813:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "7791:58:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 7604,
                  "nodeType": "ExpressionStatement",
                  "src": "7791:58:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7606,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7584,
                        "src": "7879:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7607,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "7883:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7608,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "7883:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7609,
                        "name": "content",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7576,
                        "src": "7895:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 7605,
                      "name": "LogNewTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7144,
                      "src": "7864:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,address,string memory)"
                      }
                    },
                    "id": 7610,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7864:39:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7611,
                  "nodeType": "EmitStatement",
                  "src": "7859:44:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7617,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 7612,
                      "name": "nextTemplateID",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7268,
                      "src": "7913:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 7615,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7937:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 7613,
                          "name": "id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7584,
                          "src": "7930:2:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7067,
                        "src": "7930:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7616,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7930:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7913:26:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7618,
                  "nodeType": "ExpressionStatement",
                  "src": "7913:26:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7619,
                    "name": "id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7584,
                    "src": "7956:2:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7582,
                  "id": 7620,
                  "nodeType": "Return",
                  "src": "7949:9:17"
                }
              ]
            },
            "documentation": "@notice Create a reusable template, which should be a JSON document.\n Placeholders should use gettext() syntax, eg %s.\n @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n @param content The template content\n @return The ID of the newly-created template, which is created sequentially.",
            "id": 7622,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 7579,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7578,
                  "name": "stateAny",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7313,
                  "src": "7666:8:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7666:10:17"
              }
            ],
            "name": "createTemplate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7576,
                  "name": "content",
                  "nodeType": "VariableDeclaration",
                  "scope": 7622,
                  "src": "7641:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7575,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7641:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7640:16:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7582,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7581,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7622,
                  "src": "7697:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7580,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7697:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7696:9:17"
            },
            "scope": 9301,
            "src": "7617:348:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7654,
              "nodeType": "Block",
              "src": "9110:153:17",
              "statements": [
                {
                  "assignments": [
                    7640
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7640,
                      "name": "template_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 7655,
                      "src": "9120:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7639,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9120:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7644,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7642,
                        "name": "content",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7624,
                        "src": "9157:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 7641,
                      "name": "createTemplate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7622,
                      "src": "9142:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) returns (uint256)"
                      }
                    },
                    "id": 7643,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9142:23:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9120:45:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7646,
                        "name": "template_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7640,
                        "src": "9194:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7647,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7626,
                        "src": "9207:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7648,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7628,
                        "src": "9217:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7649,
                        "name": "timeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7630,
                        "src": "9229:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7650,
                        "name": "opening_ts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7632,
                        "src": "9238:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7651,
                        "name": "nonce",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7634,
                        "src": "9250:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "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_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 7645,
                      "name": "askQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7731,
                      "src": "9182:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_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) returns (bytes32)"
                      }
                    },
                    "id": 7652,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9182:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 7638,
                  "id": 7653,
                  "nodeType": "Return",
                  "src": "9175:81:17"
                }
              ]
            },
            "documentation": "@notice Create a new reusable template and use it to ask a question\n @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n @param content The template content\n @param question A string containing the parameters that will be passed into the template to make the question\n @param arbitrator The arbitration contract that will have the final word on the answer if there is a dispute\n @param timeout How long the contract should wait after the answer is changed before finalizing on that answer\n @param opening_ts If set, the earliest time it should be possible to answer the question.\n @param nonce A user-specified nonce used in the question ID. Change it to repeat a question.\n @return The ID of the newly-created template, which is created sequentially.",
            "id": 7655,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "createTemplateAndAskQuestion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7635,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7624,
                  "name": "content",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8886:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7623,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8886:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7626,
                  "name": "question",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8911:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7625,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8911:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7628,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8928:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7627,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8928:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7630,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8948:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7629,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8948:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7632,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8964:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7631,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8964:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7634,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "8983:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7633,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8983:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8876:127:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7637,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7655,
                  "src": "9101:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7636,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9101:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9100:9:17"
            },
            "scope": 9301,
            "src": "8839:424:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7730,
              "nodeType": "Block",
              "src": "10380:533:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7677,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7673,
                            "name": "templates",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7272,
                            "src": "10399:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
                              "typeString": "mapping(uint256 => uint256)"
                            }
                          },
                          "id": 7675,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7674,
                            "name": "template_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7657,
                            "src": "10409:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "10399:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7676,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10424:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "10399:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74656d706c617465206d757374206578697374",
                        "id": 7678,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10427:21:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6b763f6fbc16e7da696107f42e85f1f46703aa651f9e70e97d489e8899582b16",
                          "typeString": "literal_string \"template must exist\""
                        },
                        "value": "template must exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6b763f6fbc16e7da696107f42e85f1f46703aa651f9e70e97d489e8899582b16",
                          "typeString": "literal_string \"template must exist\""
                        }
                      ],
                      "id": 7672,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "10391:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10391:58:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7680,
                  "nodeType": "ExpressionStatement",
                  "src": "10391:58:17"
                },
                {
                  "assignments": [
                    7682
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7682,
                      "name": "content_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 7731,
                      "src": "10460:20:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 7681,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "10460:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7691,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7686,
                            "name": "template_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7657,
                            "src": "10510:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7687,
                            "name": "opening_ts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7665,
                            "src": "10523:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7688,
                            "name": "question",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7659,
                            "src": "10535:8:17",
                            "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": 7684,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "10493:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7685,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "10493:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 7689,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10493:51:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 7683,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "10483:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 7690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10483:62:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10460:85:17"
                },
                {
                  "assignments": [
                    7693
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7693,
                      "name": "question_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 7731,
                      "src": "10555:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 7692,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "10555:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7705,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 7697,
                            "name": "content_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7682,
                            "src": "10604:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7698,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7661,
                            "src": "10618:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7699,
                            "name": "timeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7663,
                            "src": "10630:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 7700,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9703,
                              "src": "10639:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 7701,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "10639:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 7702,
                            "name": "nonce",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7667,
                            "src": "10651:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 7695,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "10587:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7696,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "10587:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 7703,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10587:70:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 7694,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "10577:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 7704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10577:81:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10555:103:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7707,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7693,
                        "src": "10682:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7708,
                        "name": "content_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7682,
                        "src": "10695:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7709,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7661,
                        "src": "10709:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7710,
                        "name": "timeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7663,
                        "src": "10721:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7711,
                        "name": "opening_ts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7665,
                        "src": "10730:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      ],
                      "id": 7706,
                      "name": "_askQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7846,
                      "src": "10669:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint32,uint32)"
                      }
                    },
                    "id": 7712,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10669:72:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7713,
                  "nodeType": "ExpressionStatement",
                  "src": "10669:72:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7715,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7693,
                        "src": "10771:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7716,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "10784:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7717,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10784:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7718,
                        "name": "template_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7657,
                        "src": "10796:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7719,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7659,
                        "src": "10809:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7720,
                        "name": "content_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7682,
                        "src": "10819:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7721,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7661,
                        "src": "10833:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7722,
                        "name": "timeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7663,
                        "src": "10845:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7723,
                        "name": "opening_ts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7665,
                        "src": "10854:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7724,
                        "name": "nonce",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7667,
                        "src": "10866:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7725,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9705,
                        "src": "10873:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 7714,
                      "name": "LogNewQuestion",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7166,
                      "src": "10756:14:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256,string memory,bytes32,address,uint32,uint32,uint256,uint256)"
                      }
                    },
                    "id": 7726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10756:121:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7727,
                  "nodeType": "EmitStatement",
                  "src": "10751:126:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7728,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7693,
                    "src": "10895:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 7671,
                  "id": 7729,
                  "nodeType": "Return",
                  "src": "10888:18:17"
                }
              ]
            },
            "documentation": "@notice Ask a new question and return the ID\n @dev Template data is only stored in the event logs, but its block number is kept in contract storage.\n @param template_id The ID number of the template the question will use\n @param question A string containing the parameters that will be passed into the template to make the question\n @param arbitrator The arbitration contract that will have the final word on the answer if there is a dispute\n @param timeout How long the contract should wait after the answer is changed before finalizing on that answer\n @param opening_ts If set, the earliest time it should be possible to answer the question.\n @param nonce A user-specified nonce used in the question ID. Change it to repeat a question.\n @return The ID of the newly-created question, created deterministically.",
            "id": 7731,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "askQuestion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7668,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7657,
                  "name": "template_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10166:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7656,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10166:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7659,
                  "name": "question",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10187:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7658,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10187:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7661,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10204:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7660,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10204:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7663,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10224:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7662,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10224:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7665,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10240:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7664,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10240:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7667,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10259:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7666,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10259:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10165:108:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7671,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7670,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7731,
                  "src": "10371:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7669,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10371:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10370:9:17"
            },
            "scope": 9301,
            "src": "10145:768:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7845,
              "nodeType": "Block",
              "src": "11090:1316:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7750,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7748,
                          "name": "timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7739,
                          "src": "11191:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 7749,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "11201:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "11191:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74696d656f7574206d75737420626520706f736974697665",
                        "id": 7751,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11204:26:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_21a6e8d6041a43652989cb6df398a64082bcb4cf008fb5cf0deefa1dfb00eaf0",
                          "typeString": "literal_string \"timeout must be positive\""
                        },
                        "value": "timeout must be positive"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_21a6e8d6041a43652989cb6df398a64082bcb4cf008fb5cf0deefa1dfb00eaf0",
                          "typeString": "literal_string \"timeout must be positive\""
                        }
                      ],
                      "id": 7747,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "11183:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7752,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11183:48:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7753,
                  "nodeType": "ExpressionStatement",
                  "src": "11183:48:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 7757,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7755,
                          "name": "timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7739,
                          "src": "11250:7:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "333635",
                          "id": 7756,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "11260:8:17",
                          "subdenomination": "days",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_31536000_by_1",
                            "typeString": "int_const 31536000"
                          },
                          "value": "365"
                        },
                        "src": "11250:18:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74696d656f7574206d757374206265206c657373207468616e203336352064617973",
                        "id": 7758,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11270:36:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d41c7cd8b163218b0d4e0b8fc4fae3eb6e53b50e3a40bd3b56ca7bc1b684a1e9",
                          "typeString": "literal_string \"timeout must be less than 365 days\""
                        },
                        "value": "timeout must be less than 365 days"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d41c7cd8b163218b0d4e0b8fc4fae3eb6e53b50e3a40bd3b56ca7bc1b684a1e9",
                          "typeString": "literal_string \"timeout must be less than 365 days\""
                        }
                      ],
                      "id": 7754,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "11242:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7759,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11242:65:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7760,
                  "nodeType": "ExpressionStatement",
                  "src": "11242:65:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 7764,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7762,
                          "name": "arbitrator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7737,
                          "src": "11326:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 7763,
                          "name": "NULL_ADDRESS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7113,
                          "src": "11340:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "11326:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206d75737420626520736574",
                        "id": 7765,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11354:24:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_41e3ac7303a8b1456ede85d1facc68e58dc10ca71a9ec24a5bab787499ac2a73",
                          "typeString": "literal_string \"arbitrator must be set\""
                        },
                        "value": "arbitrator must be set"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_41e3ac7303a8b1456ede85d1facc68e58dc10ca71a9ec24a5bab787499ac2a73",
                          "typeString": "literal_string \"arbitrator must be set\""
                        }
                      ],
                      "id": 7761,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "11318:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7766,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11318:61:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7767,
                  "nodeType": "ExpressionStatement",
                  "src": "11318:61:17"
                },
                {
                  "assignments": [
                    7769
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7769,
                      "name": "bounty",
                      "nodeType": "VariableDeclaration",
                      "scope": 7846,
                      "src": "11390:14:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7768,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "11390:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7772,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 7770,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9703,
                      "src": "11407:3:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 7771,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "value",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "11407:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11390:26:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 7776,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 7773,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9703,
                        "src": "11808:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 7774,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "11808:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7775,
                      "name": "arbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7737,
                      "src": "11822:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "11808:24:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 7809,
                  "nodeType": "IfStatement",
                  "src": "11804:324:17",
                  "trueBody": {
                    "id": 7808,
                    "nodeType": "Block",
                    "src": "11834:294:17",
                    "statements": [
                      {
                        "assignments": [
                          7778
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 7778,
                            "name": "question_fee",
                            "nodeType": "VariableDeclaration",
                            "scope": 7846,
                            "src": "11848:20:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 7777,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "11848:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 7782,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7779,
                            "name": "arbitrator_question_fees",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7292,
                            "src": "11871:24:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 7781,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7780,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7737,
                            "src": "11896:10:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "11871:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "11848:59:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 7786,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 7784,
                                "name": "bounty",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7769,
                                "src": "11929:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 7785,
                                "name": "question_fee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7778,
                                "src": "11939:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "11929:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "4554482070726f7669646564206d75737420636f766572207175657374696f6e20666565",
                              "id": 7787,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11953:38:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f563467593cc476b2eaa9803db9a434ac560eec51474d9492a841a55aff9878c",
                                "typeString": "literal_string \"ETH provided must cover question fee\""
                              },
                              "value": "ETH provided must cover question fee"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_f563467593cc476b2eaa9803db9a434ac560eec51474d9492a841a55aff9878c",
                                "typeString": "literal_string \"ETH provided must cover question fee\""
                              }
                            ],
                            "id": 7783,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9706,
                              9707
                            ],
                            "referencedDeclaration": 9707,
                            "src": "11921:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 7788,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11921:71:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7789,
                        "nodeType": "ExpressionStatement",
                        "src": "11921:71:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7795,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 7790,
                            "name": "bounty",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7769,
                            "src": "12007:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7793,
                                "name": "question_fee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7778,
                                "src": "12027:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 7791,
                                "name": "bounty",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7769,
                                "src": "12016:6:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7792,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sub",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7043,
                              "src": "12016:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7794,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12016:24:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "12007:33:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7796,
                        "nodeType": "ExpressionStatement",
                        "src": "12007:33:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 7806,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7797,
                              "name": "balanceOf",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 396,
                              "src": "12054:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 7799,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7798,
                              "name": "arbitrator",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7737,
                              "src": "12064:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "12054:21:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 7804,
                                "name": "question_fee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7778,
                                "src": "12104:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 7800,
                                  "name": "balanceOf",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 396,
                                  "src": "12078:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                    "typeString": "mapping(address => uint256)"
                                  }
                                },
                                "id": 7802,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 7801,
                                  "name": "arbitrator",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7737,
                                  "src": "12088:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "12078:21:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7803,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7067,
                              "src": "12078:25:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 7805,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12078:39:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "12054:63:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7807,
                        "nodeType": "ExpressionStatement",
                        "src": "12054:63:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7815,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7810,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12138:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7812,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7811,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12148:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12138:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7813,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "content_hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7232,
                      "src": "12138:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7814,
                      "name": "content_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7735,
                      "src": "12176:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "12138:50:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 7816,
                  "nodeType": "ExpressionStatement",
                  "src": "12138:50:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7822,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7817,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12198:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7819,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7818,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12208:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12198:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7820,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "arbitrator",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7234,
                      "src": "12198:33:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7821,
                      "name": "arbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7737,
                      "src": "12234:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "12198:46:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 7823,
                  "nodeType": "ExpressionStatement",
                  "src": "12198:46:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7829,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7824,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12254:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7826,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7825,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12264:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12254:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7827,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "opening_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7236,
                      "src": "12254:33:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7828,
                      "name": "opening_ts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7741,
                      "src": "12290:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "12254:46:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 7830,
                  "nodeType": "ExpressionStatement",
                  "src": "12254:46:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7836,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7831,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12310:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7833,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7832,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12320:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12310:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7834,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeout",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7238,
                      "src": "12310:30:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7835,
                      "name": "timeout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7739,
                      "src": "12343:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "12310:40:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 7837,
                  "nodeType": "ExpressionStatement",
                  "src": "12310:40:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7843,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7838,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12360:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7840,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7839,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7733,
                          "src": "12370:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12360:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7841,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "bounty",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7244,
                      "src": "12360:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 7842,
                      "name": "bounty",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7769,
                      "src": "12392:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12360:38:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7844,
                  "nodeType": "ExpressionStatement",
                  "src": "12360:38:17"
                }
              ]
            },
            "documentation": null,
            "id": 7846,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7744,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7733,
                    "src": "11064:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7745,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7743,
                  "name": "stateNotCreated",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7329,
                  "src": "11048:15:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "11048:28:17"
              }
            ],
            "name": "_askQuestion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7742,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7733,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "10941:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7732,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10941:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7735,
                  "name": "content_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "10962:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7734,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10962:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7737,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "10984:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7736,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10984:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7739,
                  "name": "timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "11004:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7738,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11004:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7741,
                  "name": "opening_ts",
                  "nodeType": "VariableDeclaration",
                  "scope": 7846,
                  "src": "11020:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7740,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11020:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10940:98:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7746,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11090:0:17"
            },
            "scope": 9301,
            "src": "10919:1487:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7880,
              "nodeType": "Block",
              "src": "12755:194:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 7866,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7854,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "12765:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7856,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7855,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7848,
                          "src": "12775:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12765:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7857,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "bounty",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7244,
                      "src": "12765:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 7863,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9703,
                            "src": "12831:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 7864,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "12831:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7858,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "12797:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 7860,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7859,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7848,
                              "src": "12807:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "12797:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 7861,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "bounty",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7244,
                          "src": "12797:29:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 7862,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7067,
                        "src": "12797:33:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 7865,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12797:44:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12765:76:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 7867,
                  "nodeType": "ExpressionStatement",
                  "src": "12765:76:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7869,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7848,
                        "src": "12876:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7870,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "12889:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7871,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12889:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7872,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "12900:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7874,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7873,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7848,
                            "src": "12910:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "12900:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7875,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "bounty",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7244,
                        "src": "12900:29:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7876,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "12931:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7877,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12931:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 7868,
                      "name": "LogFundAnswerBounty",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7176,
                      "src": "12856:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,uint256,uint256,address)"
                      }
                    },
                    "id": 7878,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12856:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7879,
                  "nodeType": "EmitStatement",
                  "src": "12851:91:17"
                }
              ]
            },
            "documentation": "@notice Add funds to the bounty for a question\n @dev Add bounty funds after the initial question creation. Can be done any time until the question is finalized.\n @param question_id The ID of the question you wish to fund",
            "id": 7881,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7851,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7848,
                    "src": "12721:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7852,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7850,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "12711:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "12711:22:17"
              }
            ],
            "name": "fundAnswerBounty",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7849,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7848,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7881,
                  "src": "12681:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7847,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "12681:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12680:21:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7853,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12755:0:17"
            },
            "scope": 9301,
            "src": "12655:294:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 7919,
              "nodeType": "Block",
              "src": "13680:170:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7901,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7883,
                        "src": "13710:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7902,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7885,
                        "src": "13723:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7903,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "13731:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7904,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "13731:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7905,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "13743:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7906,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "13743:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66616c7365",
                        "id": 7907,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13754:5:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 7900,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "13690:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 7908,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13690:70:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7909,
                  "nodeType": "ExpressionStatement",
                  "src": "13690:70:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7911,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7883,
                        "src": "13791:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7912,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7885,
                        "src": "13804:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7913,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "13812:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7915,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7914,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7883,
                            "src": "13822:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13812:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7916,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeout",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7238,
                        "src": "13812:30:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      ],
                      "id": 7910,
                      "name": "_updateCurrentAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8251,
                      "src": "13770:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,uint32)"
                      }
                    },
                    "id": 7917,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13770:73:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7918,
                  "nodeType": "ExpressionStatement",
                  "src": "13770:73:17"
                }
              ]
            },
            "documentation": "@notice Submit an answer for a question.\n @dev Adds the answer to the history and updates the current \"best\" answer.\n May be subject to front-running attacks; Substitute submitAnswerCommitment()->submitAnswerReveal() to prevent them.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.",
            "id": 7920,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7890,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7883,
                    "src": "13540:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7891,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7889,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "13530:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "13530:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7893,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7883,
                    "src": "13576:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7894,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7892,
                  "name": "bondMustDouble",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7506,
                  "src": "13561:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "13561:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7896,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7883,
                    "src": "13632:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7897,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7887,
                    "src": "13645:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7898,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7895,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "13597:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "13597:61:17"
              }
            ],
            "name": "submitAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7888,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7883,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7920,
                  "src": "13462:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7882,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "13462:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7885,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7920,
                  "src": "13483:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7884,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "13483:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7887,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 7920,
                  "src": "13499:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7886,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "13499:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13461:59:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7899,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13680:0:17"
            },
            "scope": 9301,
            "src": "13440:410:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 7966,
              "nodeType": "Block",
              "src": "14715:240:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 7944,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 7942,
                          "name": "answerer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7928,
                          "src": "14733:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 7943,
                          "name": "NULL_ADDRESS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7113,
                          "src": "14745:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "14733:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "616e737765726572206d757374206265206e6f6e2d7a65726f",
                        "id": 7945,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14759:27:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1a11019cd9d1425a5b8b53e98d98a4940adc356e8b64f2a44d399cf8bb21778b",
                          "typeString": "literal_string \"answerer must be non-zero\""
                        },
                        "value": "answerer must be non-zero"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_1a11019cd9d1425a5b8b53e98d98a4940adc356e8b64f2a44d399cf8bb21778b",
                          "typeString": "literal_string \"answerer must be non-zero\""
                        }
                      ],
                      "id": 7941,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "14725:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7946,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14725:62:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7947,
                  "nodeType": "ExpressionStatement",
                  "src": "14725:62:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7949,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7922,
                        "src": "14817:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7950,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7924,
                        "src": "14830:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7951,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7928,
                        "src": "14838:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 7952,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "14848:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 7953,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "14848:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66616c7365",
                        "id": 7954,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14859:5:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 7948,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "14797:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 7955,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14797:68:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7956,
                  "nodeType": "ExpressionStatement",
                  "src": "14797:68:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 7958,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7922,
                        "src": "14896:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 7959,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7924,
                        "src": "14909:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 7960,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "14917:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 7962,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 7961,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7922,
                            "src": "14927:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "14917:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 7963,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeout",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7238,
                        "src": "14917:30:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      ],
                      "id": 7957,
                      "name": "_updateCurrentAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8251,
                      "src": "14875:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,uint32)"
                      }
                    },
                    "id": 7964,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14875:73:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7965,
                  "nodeType": "ExpressionStatement",
                  "src": "14875:73:17"
                }
              ]
            },
            "documentation": "@notice Submit an answer for a question, crediting it to the specified account.\n @dev Adds the answer to the history and updates the current \"best\" answer.\n May be subject to front-running attacks; Substitute submitAnswerCommitment()->submitAnswerReveal() to prevent them.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n @param answerer The account to which the answer should be credited",
            "id": 7967,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7931,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7922,
                    "src": "14575:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7932,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7930,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "14565:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14565:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7934,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7922,
                    "src": "14611:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 7935,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7933,
                  "name": "bondMustDouble",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7506,
                  "src": "14596:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14596:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 7937,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7922,
                    "src": "14667:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 7938,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7926,
                    "src": "14680:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 7939,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 7936,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "14632:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14632:61:17"
              }
            ],
            "name": "submitAnswerFor",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7922,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14480:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7921,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14480:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7924,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14501:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7923,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14501:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7926,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14517:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7925,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14517:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7928,
                  "name": "answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 7967,
                  "src": "14539:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7927,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14539:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14479:77:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 7940,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14715:0:17"
            },
            "scope": 9301,
            "src": "14455:500:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8005,
              "nodeType": "Block",
              "src": "15236:306:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7980,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 7975,
                              "name": "commitments",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7288,
                              "src": "15254:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                              }
                            },
                            "id": 7977,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 7976,
                              "name": "commitment_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7971,
                              "src": "15266:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "15254:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                              "typeString": "struct Realitio_v2_1.Commitment storage ref"
                            }
                          },
                          "id": 7978,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "reveal_ts",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7253,
                          "src": "15254:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 7979,
                          "name": "COMMITMENT_NON_EXISTENT",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7124,
                          "src": "15294:23:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "15254:63:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "636f6d6d69746d656e74206d757374206e6f7420616c7265616479206578697374",
                        "id": 7981,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15319:35:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c2878907358507a98137b5e459ef2a610f3aa0fc728f22215b4a187d8849acf0",
                          "typeString": "literal_string \"commitment must not already exist\""
                        },
                        "value": "commitment must not already exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c2878907358507a98137b5e459ef2a610f3aa0fc728f22215b4a187d8849acf0",
                          "typeString": "literal_string \"commitment must not already exist\""
                        }
                      ],
                      "id": 7974,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "15246:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7982,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15246:109:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7983,
                  "nodeType": "ExpressionStatement",
                  "src": "15246:109:17"
                },
                {
                  "assignments": [
                    7985
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7985,
                      "name": "commitment_timeout",
                      "nodeType": "VariableDeclaration",
                      "scope": 8006,
                      "src": "15366:25:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 7984,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "15366:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 7992,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    },
                    "id": 7991,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7986,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "15394:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 7988,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7987,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7969,
                          "src": "15404:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "15394:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 7989,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "timeout",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7238,
                      "src": "15394:30:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 7990,
                      "name": "COMMITMENT_TIMEOUT_RATIO",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7127,
                      "src": "15427:24:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "15394:57:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15366:85:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8003,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 7993,
                          "name": "commitments",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7288,
                          "src": "15461:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                          }
                        },
                        "id": 7995,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 7994,
                          "name": "commitment_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7971,
                          "src": "15473:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "15461:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                          "typeString": "struct Realitio_v2_1.Commitment storage ref"
                        }
                      },
                      "id": 7996,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "reveal_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7253,
                      "src": "15461:36:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8001,
                          "name": "commitment_timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7985,
                          "src": "15516:18:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 7998,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "15507:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 7997,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "15500:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 7999,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15500:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "id": 8000,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7094,
                        "src": "15500:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint32_$_t_uint32_$returns$_t_uint32_$bound_to$_t_uint32_$",
                          "typeString": "function (uint32,uint32) pure returns (uint32)"
                        }
                      },
                      "id": 8002,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15500:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "15461:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 8004,
                  "nodeType": "ExpressionStatement",
                  "src": "15461:74:17"
                }
              ]
            },
            "documentation": null,
            "id": 8006,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_storeCommitment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7972,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7969,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8006,
                  "src": "15174:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7968,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "15174:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7971,
                  "name": "commitment_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8006,
                  "src": "15195:21:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7970,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "15195:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15173:44:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 7973,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15236:0:17"
            },
            "scope": 9301,
            "src": "15148:394:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8064,
              "nodeType": "Block",
              "src": "16753:326:17",
              "statements": [
                {
                  "assignments": [
                    8028
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8028,
                      "name": "commitment_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 8065,
                      "src": "16764:21:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8027,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "16764:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8038,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8032,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8008,
                            "src": "16815:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8033,
                            "name": "answer_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8010,
                            "src": "16828:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 8034,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9703,
                              "src": "16841:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 8035,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "value",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "16841:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8030,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "16798:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8031,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "16798:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16798:53:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8029,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "16788:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16788:64:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16764:88:17"
                },
                {
                  "assignments": [
                    8040
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8040,
                      "name": "answerer",
                      "nodeType": "VariableDeclaration",
                      "scope": 8065,
                      "src": "16862:16:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8039,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "16862:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8049,
                  "initialValue": {
                    "argumentTypes": null,
                    "condition": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 8043,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8041,
                            "name": "_answerer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8014,
                            "src": "16882:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8042,
                            "name": "NULL_ADDRESS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7113,
                            "src": "16895:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "16882:25:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 8044,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "16881:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "argumentTypes": null,
                      "id": 8047,
                      "name": "_answerer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8014,
                      "src": "16924:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8048,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "16881:52:17",
                    "trueExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 8045,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9703,
                        "src": "16911:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 8046,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sender",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "16911:10:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16862:71:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8051,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8008,
                        "src": "16960:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8052,
                        "name": "commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8028,
                        "src": "16973:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8050,
                      "name": "_storeCommitment",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8006,
                      "src": "16943:16:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32,bytes32)"
                      }
                    },
                    "id": 8053,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16943:44:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8054,
                  "nodeType": "ExpressionStatement",
                  "src": "16943:44:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8056,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8008,
                        "src": "17017:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8057,
                        "name": "commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8028,
                        "src": "17030:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8058,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8040,
                        "src": "17045:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8059,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "17055:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8060,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "17055:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 8061,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "17066:4:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8055,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "16997:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 8062,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16997:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8063,
                  "nodeType": "ExpressionStatement",
                  "src": "16997:74:17"
                }
              ]
            },
            "documentation": "@notice Submit the hash of an answer, laying your claim to that answer if you reveal it in a subsequent transaction.\n @dev Creates a hash, commitment_id, uniquely identifying this answer, to this question, with this bond.\n The commitment_id is stored in the answer history where the answer would normally go.\n Does not update the current best answer - this is left to the later submitAnswerReveal() transaction.\n @param question_id The ID of the question\n @param answer_hash The hash of your answer, plus a nonce that you will later reveal\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.\n @param _answerer If specified, the address to be given as the question answerer. Defaults to the sender.\n @dev Specifying the answerer is useful if you want to delegate the commit-and-reveal to a third-party.",
            "id": 8065,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8017,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8008,
                    "src": "16613:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8018,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8016,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "16603:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "16603:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8020,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8008,
                    "src": "16649:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8021,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8019,
                  "name": "bondMustDouble",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7506,
                  "src": "16634:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "16634:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8023,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8008,
                    "src": "16705:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 8024,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8012,
                    "src": "16718:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8025,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8022,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "16670:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "16670:61:17"
              }
            ],
            "name": "submitAnswerCommitment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8015,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8008,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16511:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8007,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "16511:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8010,
                  "name": "answer_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16532:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8009,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "16532:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8012,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16553:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8011,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "16553:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8014,
                  "name": "_answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8065,
                  "src": "16575:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8013,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "16575:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16510:83:17"
            },
            "payable": true,
            "returnParameters": {
              "id": 8026,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "16753:0:17"
            },
            "scope": 9301,
            "src": "16479:600:17",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8162,
              "nodeType": "Block",
              "src": "18213:746:17",
              "statements": [
                {
                  "assignments": [
                    8080
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8080,
                      "name": "answer_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 8163,
                      "src": "18224:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8079,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "18224:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8088,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8084,
                            "name": "answer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8069,
                            "src": "18273:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8085,
                            "name": "nonce",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8071,
                            "src": "18281:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8082,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "18256:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8083,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "18256:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8086,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18256:31:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8081,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "18246:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8087,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18246:42:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18224:64:17"
                },
                {
                  "assignments": [
                    8090
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8090,
                      "name": "commitment_id",
                      "nodeType": "VariableDeclaration",
                      "scope": 8163,
                      "src": "18298:21:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8089,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "18298:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8099,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8094,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8067,
                            "src": "18349:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8095,
                            "name": "answer_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8080,
                            "src": "18362:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8096,
                            "name": "bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8073,
                            "src": "18375:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8092,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "18332:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8093,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "18332:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8097,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18332:48:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8091,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "18322:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8098,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18322:59:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18298:83:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8105,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "18400:39:17",
                        "subExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8101,
                              "name": "commitments",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7288,
                              "src": "18401:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                              }
                            },
                            "id": 8103,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8102,
                              "name": "commitment_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8090,
                              "src": "18413:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "18401:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                              "typeString": "struct Realitio_v2_1.Commitment storage ref"
                            }
                          },
                          "id": 8104,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "is_revealed",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7255,
                          "src": "18401:38:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "636f6d6d69746d656e74206d757374206e6f742068617665206265656e2072657665616c656420796574",
                        "id": 8106,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "18441:44:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6dc39b75299a8c5d94f5d4fe4d23fcb2fa3f298c414cad40577eebdbf4fb5bba",
                          "typeString": "literal_string \"commitment must not have been revealed yet\""
                        },
                        "value": "commitment must not have been revealed yet"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6dc39b75299a8c5d94f5d4fe4d23fcb2fa3f298c414cad40577eebdbf4fb5bba",
                          "typeString": "literal_string \"commitment must not have been revealed yet\""
                        }
                      ],
                      "id": 8100,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "18392:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18392:94:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8108,
                  "nodeType": "ExpressionStatement",
                  "src": "18392:94:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 8117,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8110,
                              "name": "commitments",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7288,
                              "src": "18504:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                              }
                            },
                            "id": 8112,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8111,
                              "name": "commitment_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8090,
                              "src": "18516:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "18504:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                              "typeString": "struct Realitio_v2_1.Commitment storage ref"
                            }
                          },
                          "id": 8113,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "reveal_ts",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7253,
                          "src": "18504:36:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8115,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "18550:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8114,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "18543:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 8116,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18543:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "src": "18504:50:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "72657665616c20646561646c696e65206d757374206e6f74206861766520706173736564",
                        "id": 8118,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "18556:38:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c0aef0f9c54528968b7d0aecff5e54568fd8cfc861f8c854eb9d7453b7f722c0",
                          "typeString": "literal_string \"reveal deadline must not have passed\""
                        },
                        "value": "reveal deadline must not have passed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c0aef0f9c54528968b7d0aecff5e54568fd8cfc861f8c854eb9d7453b7f722c0",
                          "typeString": "literal_string \"reveal deadline must not have passed\""
                        }
                      ],
                      "id": 8109,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "18496:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8119,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18496:99:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8120,
                  "nodeType": "ExpressionStatement",
                  "src": "18496:99:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8126,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8121,
                          "name": "commitments",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7288,
                          "src": "18606:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                          }
                        },
                        "id": 8123,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8122,
                          "name": "commitment_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8090,
                          "src": "18618:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18606:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                          "typeString": "struct Realitio_v2_1.Commitment storage ref"
                        }
                      },
                      "id": 8124,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "revealed_answer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7257,
                      "src": "18606:42:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8125,
                      "name": "answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8069,
                      "src": "18651:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "18606:51:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8127,
                  "nodeType": "ExpressionStatement",
                  "src": "18606:51:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8133,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8128,
                          "name": "commitments",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7288,
                          "src": "18667:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                          }
                        },
                        "id": 8130,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8129,
                          "name": "commitment_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8090,
                          "src": "18679:13:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18667:26:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                          "typeString": "struct Realitio_v2_1.Commitment storage ref"
                        }
                      },
                      "id": 8131,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_revealed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7255,
                      "src": "18667:38:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 8132,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "18708:4:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "18667:45:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8134,
                  "nodeType": "ExpressionStatement",
                  "src": "18667:45:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8140,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8135,
                      "name": "bond",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8073,
                      "src": "18727:4:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8136,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "18735:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8138,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8137,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8067,
                          "src": "18745:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18735:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8139,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "bond",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7250,
                      "src": "18735:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "18727:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8151,
                  "nodeType": "IfStatement",
                  "src": "18723:139:17",
                  "trueBody": {
                    "id": 8150,
                    "nodeType": "Block",
                    "src": "18764:98:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8142,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8067,
                              "src": "18799:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8143,
                              "name": "answer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8069,
                              "src": "18812:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8144,
                                  "name": "questions",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7280,
                                  "src": "18820:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                    "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                  }
                                },
                                "id": 8146,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8145,
                                  "name": "question_id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8067,
                                  "src": "18830:11:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "18820:22:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Question_$7251_storage",
                                  "typeString": "struct Realitio_v2_1.Question storage ref"
                                }
                              },
                              "id": 8147,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timeout",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7238,
                              "src": "18820:30:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              }
                            ],
                            "id": 8141,
                            "name": "_updateCurrentAnswer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8251,
                            "src": "18778:20:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                              "typeString": "function (bytes32,bytes32,uint32)"
                            }
                          },
                          "id": 8148,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18778:73:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8149,
                        "nodeType": "ExpressionStatement",
                        "src": "18778:73:17"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8153,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8067,
                        "src": "18893:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8154,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9703,
                          "src": "18906:3:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8155,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "18906:10:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8156,
                        "name": "answer_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8080,
                        "src": "18918:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8157,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8069,
                        "src": "18931:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8158,
                        "name": "nonce",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8071,
                        "src": "18939:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8159,
                        "name": "bond",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8073,
                        "src": "18946:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 8152,
                      "name": "LogAnswerReveal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7206,
                      "src": "18877:15:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,bytes32,bytes32,uint256,uint256)"
                      }
                    },
                    "id": 8160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18877:74:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8161,
                  "nodeType": "EmitStatement",
                  "src": "18872:79:17"
                }
              ]
            },
            "documentation": "@notice Submit the answer whose hash you sent in a previous submitAnswerCommitment() transaction\n @dev Checks the parameters supplied recreate an existing commitment, and stores the revealed answer\n Updates the current answer unless someone has since supplied a new answer with a higher bond\n msg.sender is intentionally not restricted to the user who originally sent the commitment; \n For example, the user may want to provide the answer+nonce to a third-party service and let them send the tx\n NB If we are pending arbitration, it will be up to the arbitrator to wait and see any outstanding reveal is sent\n @param question_id The ID of the question\n @param answer The answer, encoded as bytes32\n @param nonce The nonce that, combined with the answer, recreates the answer_hash you gave in submitAnswerCommitment()\n @param bond The bond that you paid in your submitAnswerCommitment() transaction",
            "id": 8163,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8076,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8067,
                    "src": "18187:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8077,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8075,
                  "name": "stateOpenOrPendingArbitration",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7464,
                  "src": "18157:29:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "18157:42:17"
              }
            ],
            "name": "submitAnswerReveal",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8074,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8067,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18082:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8066,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "18082:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8069,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18103:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8068,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "18103:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8071,
                  "name": "nonce",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18119:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8070,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "18119:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8073,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8163,
                  "src": "18134:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8072,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "18134:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18081:66:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8078,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "18213:0:17"
            },
            "scope": 9301,
            "src": "18054:905:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8221,
              "nodeType": "Block",
              "src": "19119:524:17",
              "statements": [
                {
                  "assignments": [
                    8177
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8177,
                      "name": "new_history_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 8222,
                      "src": "19129:24:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8176,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "19129:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8191,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8181,
                                "name": "questions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7280,
                                "src": "19183:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                }
                              },
                              "id": 8183,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8182,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8165,
                                "src": "19193:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "19183:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Question_$7251_storage",
                                "typeString": "struct Realitio_v2_1.Question storage ref"
                              }
                            },
                            "id": 8184,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "history_hash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7248,
                            "src": "19183:35:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8185,
                            "name": "answer_or_commitment_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8167,
                            "src": "19220:23:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8186,
                            "name": "bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8171,
                            "src": "19245:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8187,
                            "name": "answerer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8169,
                            "src": "19251:8:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8188,
                            "name": "is_commitment",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8173,
                            "src": "19261:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 8179,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9690,
                            "src": "19166:3:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 8180,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "19166:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 8189,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19166:109:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 8178,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9697,
                      "src": "19156:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 8190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19156:120:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "19129:147:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8194,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8192,
                      "name": "bond",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8171,
                      "src": "19384:4:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 8193,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "19391:1:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "19384:8:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8203,
                  "nodeType": "IfStatement",
                  "src": "19380:73:17",
                  "trueBody": {
                    "id": 8202,
                    "nodeType": "Block",
                    "src": "19394:59:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8200,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8195,
                                "name": "questions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7280,
                                "src": "19408:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                }
                              },
                              "id": 8197,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8196,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8165,
                                "src": "19418:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "19408:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Question_$7251_storage",
                                "typeString": "struct Realitio_v2_1.Question storage ref"
                              }
                            },
                            "id": 8198,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "bond",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7250,
                            "src": "19408:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8199,
                            "name": "bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8171,
                            "src": "19438:4:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "19408:34:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8201,
                        "nodeType": "ExpressionStatement",
                        "src": "19408:34:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8204,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "19462:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8206,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8205,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8165,
                          "src": "19472:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19462:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8207,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "history_hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7248,
                      "src": "19462:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8208,
                      "name": "new_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8177,
                      "src": "19500:16:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "19462:54:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8210,
                  "nodeType": "ExpressionStatement",
                  "src": "19462:54:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8212,
                        "name": "answer_or_commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8167,
                        "src": "19545:23:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8213,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8165,
                        "src": "19570:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8214,
                        "name": "new_history_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8177,
                        "src": "19583:16:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8215,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8169,
                        "src": "19601:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8216,
                        "name": "bond",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8171,
                        "src": "19611:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8217,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9705,
                        "src": "19617:3:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8218,
                        "name": "is_commitment",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8173,
                        "src": "19622:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8211,
                      "name": "LogNewAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7192,
                      "src": "19532:12:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,bytes32,address,uint256,uint256,bool)"
                      }
                    },
                    "id": 8219,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19532:104:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8220,
                  "nodeType": "EmitStatement",
                  "src": "19527:109:17"
                }
              ]
            },
            "documentation": null,
            "id": 8222,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_addAnswerToHistory",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8174,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8165,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "18994:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8164,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "18994:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8167,
                  "name": "answer_or_commitment_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19015:31:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8166,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19015:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8169,
                  "name": "answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19048:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8168,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19048:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8171,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19066:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8170,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19066:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8173,
                  "name": "is_commitment",
                  "nodeType": "VariableDeclaration",
                  "scope": 8222,
                  "src": "19080:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8172,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "19080:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18993:106:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8175,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "19119:0:17"
            },
            "scope": 9301,
            "src": "18965:678:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8250,
              "nodeType": "Block",
              "src": "19750:136:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8236,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8231,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "19760:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8233,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8232,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8224,
                          "src": "19770:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19760:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8234,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "best_answer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7246,
                      "src": "19760:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8235,
                      "name": "answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8226,
                      "src": "19797:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "19760:43:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8237,
                  "nodeType": "ExpressionStatement",
                  "src": "19760:43:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8248,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8238,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "19813:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8240,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8239,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8224,
                          "src": "19823:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19813:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8241,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "finalize_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7240,
                      "src": "19813:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8246,
                          "name": "timeout_secs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8228,
                          "src": "19866:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8243,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "19857:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8242,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "19850:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 8244,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "19850:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "id": 8245,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7094,
                        "src": "19850:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint32_$_t_uint32_$returns$_t_uint32_$bound_to$_t_uint32_$",
                          "typeString": "function (uint32,uint32) pure returns (uint32)"
                        }
                      },
                      "id": 8247,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "19850:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "19813:66:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 8249,
                  "nodeType": "ExpressionStatement",
                  "src": "19813:66:17"
                }
              ]
            },
            "documentation": null,
            "id": 8251,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_updateCurrentAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8229,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8224,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8251,
                  "src": "19679:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8223,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19679:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8226,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8251,
                  "src": "19700:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8225,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19700:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8228,
                  "name": "timeout_secs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8251,
                  "src": "19716:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 8227,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "19716:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "19678:58:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8230,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "19750:0:17"
            },
            "scope": 9301,
            "src": "19649:237:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8292,
              "nodeType": "Block",
              "src": "20616:257:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8276,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8271,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "20634:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8273,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8272,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8253,
                              "src": "20644:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "20634:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8274,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "bond",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7250,
                          "src": "20634:27:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 8275,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "20664:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "20634:31:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5175657374696f6e206d75737420616c7265616479206861766520616e20616e73776572207768656e206172626974726174696f6e20697320726571756573746564",
                        "id": 8277,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "20667:68:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7fdaca9206a1cc3ce5480327eab94eaea78ffd196334cab0e144479eb0ad45d4",
                          "typeString": "literal_string \"Question must already have an answer when arbitration is requested\""
                        },
                        "value": "Question must already have an answer when arbitration is requested"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7fdaca9206a1cc3ce5480327eab94eaea78ffd196334cab0e144479eb0ad45d4",
                          "typeString": "literal_string \"Question must already have an answer when arbitration is requested\""
                        }
                      ],
                      "id": 8270,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "20626:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8278,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20626:110:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8279,
                  "nodeType": "ExpressionStatement",
                  "src": "20626:110:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8285,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8280,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "20746:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8282,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8281,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8253,
                          "src": "20756:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "20746:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8283,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_pending_arbitration",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7242,
                      "src": "20746:45:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 8284,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "20794:4:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "20746:52:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8286,
                  "nodeType": "ExpressionStatement",
                  "src": "20746:52:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8288,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8253,
                        "src": "20843:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8289,
                        "name": "requester",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8255,
                        "src": "20856:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 8287,
                      "name": "LogNotifyOfArbitrationRequest",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7212,
                      "src": "20813:29:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address)"
                      }
                    },
                    "id": 8290,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20813:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8291,
                  "nodeType": "EmitStatement",
                  "src": "20808:58:17"
                }
              ]
            },
            "documentation": "@notice Notify the contract that the arbitrator has been paid for a question, freezing it pending their decision.\n @dev The arbitrator contract is trusted to only call this if they've been paid, and tell us who paid them.\n @param question_id The ID of the question\n @param requester The account that requested arbitration\n @param max_previous If specified, reverts if a bond higher than this was submitted after you sent your transaction.",
            "id": 8293,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8260,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8253,
                    "src": "20489:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8261,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8259,
                  "name": "onlyArbitrator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7309,
                  "src": "20474:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "20474:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8263,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8253,
                    "src": "20520:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8264,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8262,
                  "name": "stateOpen",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7394,
                  "src": "20510:9:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "20510:22:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8266,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8253,
                    "src": "20576:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 8267,
                    "name": "max_previous",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8257,
                    "src": "20589:12:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8268,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8265,
                  "name": "previousBondMustNotBeatMaxPrevious",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7529,
                  "src": "20541:34:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$",
                    "typeString": "modifier (bytes32,uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "20541:61:17"
              }
            ],
            "name": "notifyOfArbitrationRequest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8258,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8253,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8293,
                  "src": "20403:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8252,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "20403:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8255,
                  "name": "requester",
                  "nodeType": "VariableDeclaration",
                  "scope": 8293,
                  "src": "20424:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8254,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20424:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8257,
                  "name": "max_previous",
                  "nodeType": "VariableDeclaration",
                  "scope": 8293,
                  "src": "20443:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8256,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "20443:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "20402:62:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8269,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "20616:0:17"
            },
            "scope": 9301,
            "src": "20367:506:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8330,
              "nodeType": "Block",
              "src": "21245:212:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8309,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8304,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "21255:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8306,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8305,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8295,
                          "src": "21265:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21255:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8307,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_pending_arbitration",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7242,
                      "src": "21255:45:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 8308,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "21303:5:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "21255:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8310,
                  "nodeType": "ExpressionStatement",
                  "src": "21255:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8324,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8311,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "21318:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8313,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8312,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8295,
                          "src": "21328:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21318:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8314,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "finalize_ts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7240,
                      "src": "21318:34:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8319,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "21371:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8321,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8320,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8295,
                              "src": "21381:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "21371:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8322,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "21371:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8316,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9705,
                              "src": "21362:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8315,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "21355:6:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint32_$",
                              "typeString": "type(uint32)"
                            },
                            "typeName": "uint32"
                          },
                          "id": 8317,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "21355:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "id": 8318,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7094,
                        "src": "21355:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint32_$_t_uint32_$returns$_t_uint32_$bound_to$_t_uint32_$",
                          "typeString": "function (uint32,uint32) pure returns (uint32)"
                        }
                      },
                      "id": 8323,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21355:47:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "21318:84:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 8325,
                  "nodeType": "ExpressionStatement",
                  "src": "21318:84:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8327,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8295,
                        "src": "21438:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8326,
                      "name": "LogCancelArbitration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7216,
                      "src": "21417:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32)"
                      }
                    },
                    "id": 8328,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21417:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8329,
                  "nodeType": "EmitStatement",
                  "src": "21412:38:17"
                }
              ]
            },
            "documentation": "@notice Cancel a previously-requested arbitration and extend the timeout\n @dev Useful when doing arbitration across chains that can't be requested atomically\n @param question_id The ID of the question",
            "id": 8331,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8298,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8295,
                    "src": "21174:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8299,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8297,
                  "name": "onlyArbitrator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7309,
                  "src": "21159:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "21159:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8301,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8295,
                    "src": "21219:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8302,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8300,
                  "name": "statePendingArbitration",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7408,
                  "src": "21195:23:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "21195:36:17"
              }
            ],
            "name": "cancelArbitration",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8296,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8295,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8331,
                  "src": "21129:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8294,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "21129:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "21128:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8303,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "21245:0:17"
            },
            "scope": 9301,
            "src": "21102:355:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8379,
              "nodeType": "Block",
              "src": "22235:316:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 8349,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8347,
                          "name": "answerer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8337,
                          "src": "22254:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 8348,
                          "name": "NULL_ADDRESS",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7113,
                          "src": "22266:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "22254:24:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "616e737765726572206d7573742062652070726f7669646564",
                        "id": 8350,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22280:27:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b2034904ed959e3f06daceb4dada259b4f13c4f11a1b4edcc62492a9fc76ce84",
                          "typeString": "literal_string \"answerer must be provided\""
                        },
                        "value": "answerer must be provided"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b2034904ed959e3f06daceb4dada259b4f13c4f11a1b4edcc62492a9fc76ce84",
                          "typeString": "literal_string \"answerer must be provided\""
                        }
                      ],
                      "id": 8346,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "22246:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8351,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22246:62:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8352,
                  "nodeType": "ExpressionStatement",
                  "src": "22246:62:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8354,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8333,
                        "src": "22335:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8355,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8335,
                        "src": "22348:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 8353,
                      "name": "LogFinalize",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7222,
                      "src": "22323:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32,bytes32)"
                      }
                    },
                    "id": 8356,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22323:32:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8357,
                  "nodeType": "EmitStatement",
                  "src": "22318:37:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8363,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8358,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "22366:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8360,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8359,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8333,
                          "src": "22376:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "22366:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8361,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "is_pending_arbitration",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7242,
                      "src": "22366:45:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 8362,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "22414:5:17",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "22366:53:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8364,
                  "nodeType": "ExpressionStatement",
                  "src": "22366:53:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8366,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8333,
                        "src": "22449:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8367,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8335,
                        "src": "22462:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8368,
                        "name": "answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8337,
                        "src": "22470:8:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8369,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22480:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "66616c7365",
                        "id": 8370,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22483:5:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8365,
                      "name": "_addAnswerToHistory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8222,
                      "src": "22429:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,uint256,bool)"
                      }
                    },
                    "id": 8371,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22429:60:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8372,
                  "nodeType": "ExpressionStatement",
                  "src": "22429:60:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8374,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8333,
                        "src": "22520:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8375,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8335,
                        "src": "22533:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8376,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22541:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 8373,
                      "name": "_updateCurrentAnswer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8251,
                      "src": "22499:20:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint32_$returns$__$",
                        "typeString": "function (bytes32,bytes32,uint32)"
                      }
                    },
                    "id": 8377,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22499:44:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8378,
                  "nodeType": "ExpressionStatement",
                  "src": "22499:44:17"
                }
              ]
            },
            "documentation": "@notice Submit the answer for a question, for use by the arbitrator.\n @dev Doesn't require (or allow) a bond.\n If the current final answer is correct, the account should be whoever submitted it.\n If the current final answer is wrong, the account should be whoever paid for arbitration.\n However, the answerer stipulations are not enforced by the contract.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param answerer The account credited with this answer for the purpose of bond claims",
            "id": 8380,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8340,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8333,
                    "src": "22166:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8341,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8339,
                  "name": "onlyArbitrator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7309,
                  "src": "22151:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "22151:27:17"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8343,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8333,
                    "src": "22211:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8344,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8342,
                  "name": "statePendingArbitration",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7408,
                  "src": "22187:23:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "22187:36:17"
              }
            ],
            "name": "submitAnswerByArbitrator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8333,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8380,
                  "src": "22087:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8332,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "22087:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8335,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8380,
                  "src": "22108:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8334,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "22108:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8337,
                  "name": "answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8380,
                  "src": "22124:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8336,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22124:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "22086:55:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8345,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22235:0:17"
            },
            "scope": 9301,
            "src": "22053:498:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8459,
              "nodeType": "Block",
              "src": "23469:867:17",
              "statements": [
                {
                  "assignments": [
                    8396
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8396,
                      "name": "is_commitment",
                      "nodeType": "VariableDeclaration",
                      "scope": 8460,
                      "src": "23479:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 8395,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "23479:4:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8410,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8398,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "23528:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 8400,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8399,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8382,
                            "src": "23538:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "23528:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 8401,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "history_hash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7248,
                        "src": "23528:35:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8402,
                        "name": "last_history_hash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8388,
                        "src": "23565:17:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8403,
                        "name": "last_answer_or_commitment_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8390,
                        "src": "23584:28:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8404,
                            "name": "questions",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7280,
                            "src": "23614:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                            }
                          },
                          "id": 8406,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8405,
                            "name": "question_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8382,
                            "src": "23624:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "23614:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Question_$7251_storage",
                            "typeString": "struct Realitio_v2_1.Question storage ref"
                          }
                        },
                        "id": 8407,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "bond",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7250,
                        "src": "23614:27:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8408,
                        "name": "last_answerer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8392,
                        "src": "23643:13:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 8397,
                      "name": "_verifyHistoryInputOrRevert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8887,
                      "src": "23500:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$",
                        "typeString": "function (bytes32,bytes32,bytes32,uint256,address) pure returns (bool)"
                      }
                    },
                    "id": 8409,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23500:157:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23479:178:17"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8412,
                      "name": "payee",
                      "nodeType": "VariableDeclaration",
                      "scope": 8460,
                      "src": "23668:13:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8411,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "23668:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8413,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23668:13:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 8420,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8414,
                      "name": "is_commitment",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8396,
                      "src": "23883:13:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8419,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "23900:54:17",
                      "subExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8415,
                            "name": "commitments",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7288,
                            "src": "23901:11:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                              "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                            }
                          },
                          "id": 8417,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8416,
                            "name": "last_answer_or_commitment_id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8390,
                            "src": "23913:28:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "23901:41:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                            "typeString": "struct Realitio_v2_1.Commitment storage ref"
                          }
                        },
                        "id": 8418,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "is_revealed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7255,
                        "src": "23901:53:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "23883:71:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8451,
                    "nodeType": "Block",
                    "src": "24156:112:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8449,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8438,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8412,
                            "src": "24170:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "condition": {
                              "argumentTypes": null,
                              "components": [
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  "id": 8444,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 8439,
                                        "name": "questions",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7280,
                                        "src": "24179:9:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                        }
                                      },
                                      "id": 8441,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 8440,
                                        "name": "question_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8382,
                                        "src": "24189:11:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "24179:22:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                                        "typeString": "struct Realitio_v2_1.Question storage ref"
                                      }
                                    },
                                    "id": 8442,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "best_answer",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 7246,
                                    "src": "24179:34:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "id": 8443,
                                    "name": "answer",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8384,
                                    "src": "24217:6:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "src": "24179:44:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "id": 8445,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "24178:46:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseExpression": {
                              "argumentTypes": null,
                              "id": 8447,
                              "name": "payee_if_wrong",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8386,
                              "src": "24243:14:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 8448,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "Conditional",
                            "src": "24178:79:17",
                            "trueExpression": {
                              "argumentTypes": null,
                              "id": 8446,
                              "name": "last_answerer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8392,
                              "src": "24227:13:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "24170:87:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8450,
                        "nodeType": "ExpressionStatement",
                        "src": "24170:87:17"
                      }
                    ]
                  },
                  "id": 8452,
                  "nodeType": "IfStatement",
                  "src": "23879:389:17",
                  "trueBody": {
                    "id": 8437,
                    "nodeType": "Block",
                    "src": "23956:194:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              "id": 8429,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8422,
                                    "name": "commitments",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7288,
                                    "src": "23978:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                    }
                                  },
                                  "id": 8424,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8423,
                                    "name": "last_answer_or_commitment_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8390,
                                    "src": "23990:28:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "23978:41:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                    "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                  }
                                },
                                "id": 8425,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "reveal_ts",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7253,
                                "src": "23978:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8427,
                                    "name": "now",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9705,
                                    "src": "24039:3:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 8426,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "24032:6:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint32_$",
                                    "typeString": "type(uint32)"
                                  },
                                  "typeName": "uint32"
                                },
                                "id": 8428,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "24032:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "src": "23978:65:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "596f75206d757374207761697420666f72207468652072657665616c20646561646c696e65206265666f72652066696e616c697a696e67",
                              "id": 8430,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "24045:57:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_59906a33bbcf0bc176ce61cc097b3e9182f12a3fed11d73df0b39558e782f100",
                                "typeString": "literal_string \"You must wait for the reveal deadline before finalizing\""
                              },
                              "value": "You must wait for the reveal deadline before finalizing"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_59906a33bbcf0bc176ce61cc097b3e9182f12a3fed11d73df0b39558e782f100",
                                "typeString": "literal_string \"You must wait for the reveal deadline before finalizing\""
                              }
                            ],
                            "id": 8421,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9706,
                              9707
                            ],
                            "referencedDeclaration": 9707,
                            "src": "23970:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 8431,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23970:133:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8432,
                        "nodeType": "ExpressionStatement",
                        "src": "23970:133:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8435,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8433,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8412,
                            "src": "24117:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8434,
                            "name": "payee_if_wrong",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8386,
                            "src": "24125:14:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "24117:22:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8436,
                        "nodeType": "ExpressionStatement",
                        "src": "24117:22:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8454,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8382,
                        "src": "24302:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8455,
                        "name": "answer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8384,
                        "src": "24315:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8456,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8412,
                        "src": "24323:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 8453,
                      "name": "submitAnswerByArbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8380,
                      "src": "24277:24:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address)"
                      }
                    },
                    "id": 8457,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24277:52:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8458,
                  "nodeType": "ExpressionStatement",
                  "src": "24277:52:17"
                }
              ]
            },
            "documentation": "@notice Submit the answer for a question, for use by the arbitrator, working out the appropriate winner based on the last answer details.\n @dev Doesn't require (or allow) a bond.\n @param question_id The ID of the question\n @param answer The answer, encoded into bytes32\n @param payee_if_wrong The account to by credited as winner if the last answer given is wrong, usually the account that paid the arbitrator\n @param last_history_hash The history hash before the final one\n @param last_answer_or_commitment_id The last answer given, or the commitment ID if it was a commitment.\n @param last_answerer The address that supplied the last answer",
            "id": 8460,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "assignWinnerAndSubmitAnswerByArbitrator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8393,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8382,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23306:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8381,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23306:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8384,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23327:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8383,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23327:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8386,
                  "name": "payee_if_wrong",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23343:22:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8385,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23343:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8388,
                  "name": "last_history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23367:25:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8387,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23367:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8390,
                  "name": "last_answer_or_commitment_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23394:36:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8389,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "23394:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8392,
                  "name": "last_answerer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8460,
                  "src": "23432:21:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8391,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "23432:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "23305:149:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8394,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23469:0:17"
            },
            "scope": 9301,
            "src": "23257:1079:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8493,
              "nodeType": "Block",
              "src": "24589:201:17",
              "statements": [
                {
                  "assignments": [
                    8468
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8468,
                      "name": "finalize_ts",
                      "nodeType": "VariableDeclaration",
                      "scope": 8494,
                      "src": "24599:18:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      },
                      "typeName": {
                        "id": 8467,
                        "name": "uint32",
                        "nodeType": "ElementaryTypeName",
                        "src": "24599:6:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8473,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8469,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "24620:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8471,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8470,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8462,
                        "src": "24630:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "24620:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8472,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "24620:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "24599:55:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 8490,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 8483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8478,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "!",
                            "prefix": true,
                            "src": "24673:46:17",
                            "subExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8474,
                                  "name": "questions",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7280,
                                  "src": "24674:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                    "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                  }
                                },
                                "id": 8476,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8475,
                                  "name": "question_id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8462,
                                  "src": "24684:11:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "24674:22:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Question_$7251_storage",
                                  "typeString": "struct Realitio_v2_1.Question storage ref"
                                }
                              },
                              "id": 8477,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "is_pending_arbitration",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7242,
                              "src": "24674:45:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                },
                                "id": 8481,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 8479,
                                  "name": "finalize_ts",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8468,
                                  "src": "24724:11:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint32",
                                    "typeString": "uint32"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 8480,
                                  "name": "UNANSWERED",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7121,
                                  "src": "24738:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint32",
                                    "typeString": "uint32"
                                  }
                                },
                                "src": "24724:24:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "id": 8482,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "24723:26:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "24673:76:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint32",
                                "typeString": "uint32"
                              },
                              "id": 8488,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 8484,
                                "name": "finalize_ts",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8468,
                                "src": "24754:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8486,
                                    "name": "now",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9705,
                                    "src": "24776:3:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 8485,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "24769:6:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint32_$",
                                    "typeString": "type(uint32)"
                                  },
                                  "typeName": "uint32"
                                },
                                "id": 8487,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "24769:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint32",
                                  "typeString": "uint32"
                                }
                              },
                              "src": "24754:26:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "id": 8489,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "24753:28:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "24673:108:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 8491,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "24671:112:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 8466,
                  "id": 8492,
                  "nodeType": "Return",
                  "src": "24664:119:17"
                }
              ]
            },
            "documentation": "@notice Report whether the answer to the specified question is finalized\n @param question_id The ID of the question\n @return Return true if finalized",
            "id": 8494,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isFinalized",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8463,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8462,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8494,
                  "src": "24536:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8461,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "24536:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "24535:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8466,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8465,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8494,
                  "src": "24583:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8464,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "24583:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "24582:6:17"
            },
            "scope": 9301,
            "src": "24515:275:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8509,
              "nodeType": "Block",
              "src": "25123:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8504,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "25140:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8506,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8505,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8496,
                        "src": "25150:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "25140:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8507,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "25140:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 8503,
                  "id": 8508,
                  "nodeType": "Return",
                  "src": "25133:41:17"
                }
              ]
            },
            "documentation": "@notice (Deprecated) Return the final answer to the specified question, or revert if there isn't one\n @param question_id The ID of the question\n @return The answer formatted as a bytes32",
            "id": 8510,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8499,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8496,
                    "src": "25074:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8500,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8498,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "25059:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "25059:27:17"
              }
            ],
            "name": "getFinalAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8497,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8496,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8510,
                  "src": "25029:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8495,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25029:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25028:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8503,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8502,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8510,
                  "src": "25114:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8501,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25114:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25113:9:17"
            },
            "scope": 9301,
            "src": "25005:176:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8525,
              "nodeType": "Block",
              "src": "25496:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8520,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "25513:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8522,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8521,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8512,
                        "src": "25523:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "25513:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8523,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "25513:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 8519,
                  "id": 8524,
                  "nodeType": "Return",
                  "src": "25506:41:17"
                }
              ]
            },
            "documentation": "@notice Return the final answer to the specified question, or revert if there isn't one\n @param question_id The ID of the question\n @return The answer formatted as a bytes32",
            "id": 8526,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8515,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8512,
                    "src": "25447:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8516,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8514,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "25432:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "25432:27:17"
              }
            ],
            "name": "resultFor",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8513,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8512,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8526,
                  "src": "25402:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8511,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25402:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25401:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8518,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8526,
                  "src": "25487:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8517,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "25487:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25486:9:17"
            },
            "scope": 9301,
            "src": "25383:171:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8589,
              "nodeType": "Block",
              "src": "26532:427:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        "id": 8550,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8545,
                          "name": "content_hash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8530,
                          "src": "26550:12:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8546,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26566:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8548,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8547,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26576:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26566:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8549,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "content_hash",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7232,
                          "src": "26566:35:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "src": "26550:51:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "636f6e74656e742068617368206d757374206d61746368",
                        "id": 8551,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26603:25:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1ab4f91b91ff887ba4101461ee7fdff8a9550df020c832d7174034a04b833c71",
                          "typeString": "literal_string \"content hash must match\""
                        },
                        "value": "content hash must match"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_1ab4f91b91ff887ba4101461ee7fdff8a9550df020c832d7174034a04b833c71",
                          "typeString": "literal_string \"content hash must match\""
                        }
                      ],
                      "id": 8544,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26542:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8552,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26542:87:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8553,
                  "nodeType": "ExpressionStatement",
                  "src": "26542:87:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 8560,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8555,
                          "name": "arbitrator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8532,
                          "src": "26647:10:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8556,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26661:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8558,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8557,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26671:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26661:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8559,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "arbitrator",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7234,
                          "src": "26661:33:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "26647:47:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206d757374206d61746368",
                        "id": 8561,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26696:23:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e14333e0b7159d63d81a1f747c3418d619023485dd483dee8ea5dfb57b0ff723",
                          "typeString": "literal_string \"arbitrator must match\""
                        },
                        "value": "arbitrator must match"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e14333e0b7159d63d81a1f747c3418d619023485dd483dee8ea5dfb57b0ff723",
                          "typeString": "literal_string \"arbitrator must match\""
                        }
                      ],
                      "id": 8554,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26639:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8562,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26639:81:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8563,
                  "nodeType": "ExpressionStatement",
                  "src": "26639:81:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        "id": 8570,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8565,
                          "name": "min_timeout",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8534,
                          "src": "26738:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8566,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26753:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8568,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8567,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26763:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26753:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8569,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeout",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7238,
                          "src": "26753:30:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        },
                        "src": "26738:45:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74696d656f7574206d757374206265206c6f6e6720656e6f756768",
                        "id": 8571,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26785:29:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cc60de11d8ba89bb648c5bc8147e6f8669fe77735adef82b63fc28eef3d7dfeb",
                          "typeString": "literal_string \"timeout must be long enough\""
                        },
                        "value": "timeout must be long enough"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cc60de11d8ba89bb648c5bc8147e6f8669fe77735adef82b63fc28eef3d7dfeb",
                          "typeString": "literal_string \"timeout must be long enough\""
                        }
                      ],
                      "id": 8564,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26730:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8572,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26730:85:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8573,
                  "nodeType": "ExpressionStatement",
                  "src": "26730:85:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8580,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8575,
                          "name": "min_bond",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8536,
                          "src": "26833:8:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8576,
                              "name": "questions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7280,
                              "src": "26845:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                              }
                            },
                            "id": 8578,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8577,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8528,
                              "src": "26855:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26845:22:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Question_$7251_storage",
                              "typeString": "struct Realitio_v2_1.Question storage ref"
                            }
                          },
                          "id": 8579,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "bond",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7250,
                          "src": "26845:27:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "26833:39:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "626f6e64206d757374206265206869676820656e6f756768",
                        "id": 8581,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26874:26:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_4fbe9b5254b5b7c01e42aaadc74b327644dc528a9916fa76193407d46b5c0951",
                          "typeString": "literal_string \"bond must be high enough\""
                        },
                        "value": "bond must be high enough"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_4fbe9b5254b5b7c01e42aaadc74b327644dc528a9916fa76193407d46b5c0951",
                          "typeString": "literal_string \"bond must be high enough\""
                        }
                      ],
                      "id": 8574,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "26825:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8582,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26825:76:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8583,
                  "nodeType": "ExpressionStatement",
                  "src": "26825:76:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8584,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "26918:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8586,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8585,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8528,
                        "src": "26928:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "26918:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8587,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "26918:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 8543,
                  "id": 8588,
                  "nodeType": "Return",
                  "src": "26911:41:17"
                }
              ]
            },
            "documentation": "@notice Return the final answer to the specified question, provided it matches the specified criteria.\n @dev Reverts if the question is not finalized, or if it does not match the specified criteria.\n @param question_id The ID of the question\n @param content_hash The hash of the question content (template ID + opening time + question parameter string)\n @param arbitrator The arbitrator chosen for the question (regardless of whether they are asked to arbitrate)\n @param min_timeout The timeout set in the initial question settings must be this high or higher\n @param min_bond The bond sent with the final answer must be this high or higher\n @return The answer formatted as a bytes32",
            "id": 8590,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8539,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8528,
                    "src": "26483:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8540,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8538,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "26468:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "26468:27:17"
              }
            ],
            "name": "getFinalAnswerIfMatches",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8537,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8528,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26344:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8527,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26344:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8530,
                  "name": "content_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26374:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8529,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26374:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8532,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26396:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8531,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26396:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8534,
                  "name": "min_timeout",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26416:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 8533,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26416:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8536,
                  "name": "min_bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26436:16:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8535,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "26436:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26334:124:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8542,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8590,
                  "src": "26523:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8541,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "26523:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26522:9:17"
            },
            "scope": 9301,
            "src": "26302:657:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8807,
              "nodeType": "Block",
              "src": "28471:2958:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 8611,
                            "name": "history_hashes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8595,
                            "src": "28490:14:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "id": 8612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "28490:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 8613,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "28514:1:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "28490:25:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6174206c65617374206f6e6520686973746f7279206861736820656e747279206d7573742062652070726f7669646564",
                        "id": 8615,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "28517:50:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e887b9c35a99bf27d861fac479e37f4d87d4bceab6db3e0e5edcbd73f35992ed",
                          "typeString": "literal_string \"at least one history hash entry must be provided\""
                        },
                        "value": "at least one history hash entry must be provided"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e887b9c35a99bf27d861fac479e37f4d87d4bceab6db3e0e5edcbd73f35992ed",
                          "typeString": "literal_string \"at least one history hash entry must be provided\""
                        }
                      ],
                      "id": 8610,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9706,
                        9707
                      ],
                      "referencedDeclaration": 9707,
                      "src": "28482:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8616,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28482:86:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8617,
                  "nodeType": "ExpressionStatement",
                  "src": "28482:86:17"
                },
                {
                  "assignments": [
                    8619
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8619,
                      "name": "payee",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "28659:13:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8618,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "28659:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8624,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8620,
                        "name": "question_claims",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7284,
                        "src": "28675:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                        }
                      },
                      "id": 8622,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8621,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "28691:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "28675:28:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Claim_$7265_storage",
                        "typeString": "struct Realitio_v2_1.Claim storage ref"
                      }
                    },
                    "id": 8623,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "payee",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7260,
                    "src": "28675:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "28659:50:17"
                },
                {
                  "assignments": [
                    8626
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8626,
                      "name": "last_bond",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "28720:17:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8625,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "28720:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8631,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8627,
                        "name": "question_claims",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7284,
                        "src": "28740:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                        }
                      },
                      "id": 8629,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8628,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "28756:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "28740:28:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Claim_$7265_storage",
                        "typeString": "struct Realitio_v2_1.Claim storage ref"
                      }
                    },
                    "id": 8630,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "last_bond",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7262,
                    "src": "28740:38:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "28720:58:17"
                },
                {
                  "assignments": [
                    8633
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8633,
                      "name": "queued_funds",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "28789:20:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8632,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "28789:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8638,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8634,
                        "name": "question_claims",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7284,
                        "src": "28812:15:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                        }
                      },
                      "id": 8636,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8635,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "28828:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "28812:28:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Claim_$7265_storage",
                        "typeString": "struct Realitio_v2_1.Claim storage ref"
                      }
                    },
                    "id": 8637,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "queued_funds",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7264,
                    "src": "28812:41:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "28789:64:17"
                },
                {
                  "assignments": [
                    8640
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8640,
                      "name": "last_history_hash",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "29074:25:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8639,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "29074:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8645,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8641,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "29102:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8643,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8642,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "29112:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "29102:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8644,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "history_hash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7248,
                    "src": "29102:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29074:63:17"
                },
                {
                  "assignments": [
                    8647
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8647,
                      "name": "best_answer",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "29148:19:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 8646,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "29148:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8652,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8648,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "29170:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 8650,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8649,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8592,
                        "src": "29180:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "29170:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 8651,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "29170:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29148:56:17"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8654,
                      "name": "i",
                      "nodeType": "VariableDeclaration",
                      "scope": 8808,
                      "src": "29215:9:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8653,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "29215:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8655,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29215:9:17"
                },
                {
                  "body": {
                    "id": 8742,
                    "nodeType": "Block",
                    "src": "29278:1075:17",
                    "statements": [
                      {
                        "assignments": [
                          8668
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8668,
                            "name": "is_commitment",
                            "nodeType": "VariableDeclaration",
                            "scope": 8808,
                            "src": "29412:18:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "typeName": {
                              "id": 8667,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "29412:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8684,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8670,
                              "name": "last_history_hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8640,
                              "src": "29461:17:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8671,
                                "name": "history_hashes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8595,
                                "src": "29480:14:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                  "typeString": "bytes32[] memory"
                                }
                              },
                              "id": 8673,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8672,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29495:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29480:17:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8674,
                                "name": "answers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8604,
                                "src": "29499:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                  "typeString": "bytes32[] memory"
                                }
                              },
                              "id": 8676,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8675,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29507:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29499:10:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8677,
                                "name": "bonds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8601,
                                "src": "29511:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 8679,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8678,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29517:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29511:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8680,
                                "name": "addrs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8598,
                                "src": "29521:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8682,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8681,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8654,
                                "src": "29527:1:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "29521:8:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 8669,
                            "name": "_verifyHistoryInputOrRevert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8887,
                            "src": "29433:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$",
                              "typeString": "function (bytes32,bytes32,bytes32,uint256,address) pure returns (bool)"
                            }
                          },
                          "id": 8683,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "29433:97:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "29412:118:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8690,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8685,
                            "name": "queued_funds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8633,
                            "src": "29557:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8688,
                                "name": "last_bond",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8626,
                                "src": "29589:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 8686,
                                "name": "queued_funds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8633,
                                "src": "29572:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8687,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 7067,
                              "src": "29572:16:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 8689,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29572:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "29557:42:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8691,
                        "nodeType": "ExpressionStatement",
                        "src": "29557:42:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8711,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 8692,
                                "name": "queued_funds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8633,
                                "src": "29615:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8693,
                                "name": "payee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8619,
                                "src": "29629:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "id": 8694,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "29614:21:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                              "typeString": "tuple(uint256,address)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8696,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "29675:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8697,
                                "name": "best_answer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8647,
                                "src": "29688:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8698,
                                "name": "queued_funds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8633,
                                "src": "29701:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8699,
                                "name": "payee",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8619,
                                "src": "29715:5:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8700,
                                  "name": "addrs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8598,
                                  "src": "29739:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                    "typeString": "address[] memory"
                                  }
                                },
                                "id": 8702,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8701,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8654,
                                  "src": "29745:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "29739:8:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8703,
                                  "name": "bonds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8601,
                                  "src": "29749:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                    "typeString": "uint256[] memory"
                                  }
                                },
                                "id": 8705,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8704,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8654,
                                  "src": "29755:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "29749:8:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8706,
                                  "name": "answers",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8604,
                                  "src": "29759:7:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                    "typeString": "bytes32[] memory"
                                  }
                                },
                                "id": 8708,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 8707,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8654,
                                  "src": "29767:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "29759:10:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8709,
                                "name": "is_commitment",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8668,
                                "src": "29771:13:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "id": 8695,
                              "name": "_processHistoryItem",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9014,
                              "src": "29638:19:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$_t_bool_$returns$_t_uint256_$_t_address_$",
                                "typeString": "function (bytes32,bytes32,uint256,address,address,uint256,bytes32,bool) returns (uint256,address)"
                              }
                            },
                            "id": 8710,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29638:147:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                              "typeString": "tuple(uint256,address)"
                            }
                          },
                          "src": "29614:171:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8712,
                        "nodeType": "ExpressionStatement",
                        "src": "29614:171:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8717,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8713,
                            "name": "last_bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8626,
                            "src": "29897:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8714,
                              "name": "bonds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8601,
                              "src": "29909:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 8716,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8715,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8654,
                              "src": "29915:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "29909:8:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "29897:20:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8718,
                        "nodeType": "ExpressionStatement",
                        "src": "29897:20:17"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 8724,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8719,
                            "name": "last_bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8626,
                            "src": "30151:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8720,
                                "name": "questions",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7280,
                                "src": "30164:9:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                }
                              },
                              "id": 8722,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8721,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "30174:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "30164:22:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Question_$7251_storage",
                                "typeString": "struct Realitio_v2_1.Question storage ref"
                              }
                            },
                            "id": 8723,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "bond",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7250,
                            "src": "30164:27:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "30151:40:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 8735,
                        "nodeType": "IfStatement",
                        "src": "30147:143:17",
                        "trueBody": {
                          "id": 8734,
                          "nodeType": "Block",
                          "src": "30193:97:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8732,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8725,
                                  "name": "last_bond",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8626,
                                  "src": "30211:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 8730,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "argumentTypes": null,
                                        "id": 8728,
                                        "name": "last_bond",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 8626,
                                        "src": "30237:9:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "/",
                                      "rightExpression": {
                                        "argumentTypes": null,
                                        "id": 8729,
                                        "name": "BOND_CLAIM_FEE_PROPORTION",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7130,
                                        "src": "30249:25:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "30237:37:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 8726,
                                      "name": "last_bond",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8626,
                                      "src": "30223:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 8727,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "sub",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 7043,
                                    "src": "30223:13:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                      "typeString": "function (uint256,uint256) pure returns (uint256)"
                                    }
                                  },
                                  "id": 8731,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "30223:52:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "30211:64:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8733,
                              "nodeType": "ExpressionStatement",
                              "src": "30211:64:17"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8740,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 8736,
                            "name": "last_history_hash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8640,
                            "src": "30304:17:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8737,
                              "name": "history_hashes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8595,
                              "src": "30324:14:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            "id": 8739,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8738,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8654,
                              "src": "30339:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "30324:17:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "30304:37:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 8741,
                        "nodeType": "ExpressionStatement",
                        "src": "30304:37:17"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8663,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8660,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8654,
                      "src": "29246:1:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 8661,
                        "name": "history_hashes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8595,
                        "src": "29250:14:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                          "typeString": "bytes32[] memory"
                        }
                      },
                      "id": 8662,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "29250:21:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "29246:25:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8743,
                  "initializationExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8658,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 8656,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8654,
                        "src": "29239:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8657,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "29243:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "29239:5:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8659,
                    "nodeType": "ExpressionStatement",
                    "src": "29239:5:17"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8665,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "29273:3:17",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 8664,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8654,
                        "src": "29273:1:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8666,
                    "nodeType": "ExpressionStatement",
                    "src": "29273:3:17"
                  },
                  "nodeType": "ForStatement",
                  "src": "29234:1119:17"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8746,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8744,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8640,
                      "src": "30368:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8745,
                      "name": "NULL_HASH",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7118,
                      "src": "30389:9:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "30368:30:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8798,
                    "nodeType": "Block",
                    "src": "31143:213:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8785,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8592,
                              "src": "31248:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8786,
                              "name": "payee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8619,
                              "src": "31261:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 8789,
                                  "name": "last_bond",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8626,
                                  "src": "31285:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 8787,
                                  "name": "queued_funds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8633,
                                  "src": "31268:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 8788,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7067,
                                "src": "31268:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 8790,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "31268:27:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 8784,
                            "name": "_payPayee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8835,
                            "src": "31238:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,address,uint256)"
                            }
                          },
                          "id": 8791,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "31238:58:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8792,
                        "nodeType": "ExpressionStatement",
                        "src": "31238:58:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8796,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "delete",
                          "prefix": true,
                          "src": "31310:35:17",
                          "subExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 8793,
                              "name": "question_claims",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7284,
                              "src": "31317:15:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                              }
                            },
                            "id": 8795,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 8794,
                              "name": "question_id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8592,
                              "src": "31333:11:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "31317:28:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Claim_$7265_storage",
                              "typeString": "struct Realitio_v2_1.Claim storage ref"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8797,
                        "nodeType": "ExpressionStatement",
                        "src": "31310:35:17"
                      }
                    ]
                  },
                  "id": 8799,
                  "nodeType": "IfStatement",
                  "src": "30364:992:17",
                  "trueBody": {
                    "id": 8783,
                    "nodeType": "Block",
                    "src": "30400:737:17",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 8749,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8747,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8619,
                            "src": "30803:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8748,
                            "name": "NULL_ADDRESS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7113,
                            "src": "30812:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "30803:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 8761,
                        "nodeType": "IfStatement",
                        "src": "30799:137:17",
                        "trueBody": {
                          "id": 8760,
                          "nodeType": "Block",
                          "src": "30826:110:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8751,
                                    "name": "question_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8592,
                                    "src": "30854:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8752,
                                    "name": "payee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8619,
                                    "src": "30867:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8753,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8633,
                                    "src": "30874:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 8750,
                                  "name": "_payPayee",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8835,
                                  "src": "30844:9:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                                    "typeString": "function (bytes32,address,uint256)"
                                  }
                                },
                                "id": 8754,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "30844:43:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8755,
                              "nodeType": "ExpressionStatement",
                              "src": "30844:43:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8758,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8756,
                                  "name": "queued_funds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8633,
                                  "src": "30905:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 8757,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "30920:1:17",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "30905:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8759,
                              "nodeType": "ExpressionStatement",
                              "src": "30905:16:17"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8767,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8762,
                                "name": "question_claims",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7284,
                                "src": "30950:15:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                                }
                              },
                              "id": 8764,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8763,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "30966:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "30950:28:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Claim_$7265_storage",
                                "typeString": "struct Realitio_v2_1.Claim storage ref"
                              }
                            },
                            "id": 8765,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "payee",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7260,
                            "src": "30950:34:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8766,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8619,
                            "src": "30987:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "30950:42:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8768,
                        "nodeType": "ExpressionStatement",
                        "src": "30950:42:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8774,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8769,
                                "name": "question_claims",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7284,
                                "src": "31006:15:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                                }
                              },
                              "id": 8771,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8770,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "31022:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "31006:28:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Claim_$7265_storage",
                                "typeString": "struct Realitio_v2_1.Claim storage ref"
                              }
                            },
                            "id": 8772,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "last_bond",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7262,
                            "src": "31006:38:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8773,
                            "name": "last_bond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8626,
                            "src": "31047:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "31006:50:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8775,
                        "nodeType": "ExpressionStatement",
                        "src": "31006:50:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8781,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8776,
                                "name": "question_claims",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7284,
                                "src": "31070:15:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$7265_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Claim storage ref)"
                                }
                              },
                              "id": 8778,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8777,
                                "name": "question_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8592,
                                "src": "31086:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "31070:28:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Claim_$7265_storage",
                                "typeString": "struct Realitio_v2_1.Claim storage ref"
                              }
                            },
                            "id": 8779,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "queued_funds",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7264,
                            "src": "31070:41:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 8780,
                            "name": "queued_funds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8633,
                            "src": "31114:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "31070:56:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8782,
                        "nodeType": "ExpressionStatement",
                        "src": "31070:56:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8805,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 8800,
                          "name": "questions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7280,
                          "src": "31366:9:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                          }
                        },
                        "id": 8802,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 8801,
                          "name": "question_id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8592,
                          "src": "31376:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "31366:22:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                          "typeString": "struct Realitio_v2_1.Question storage ref"
                        }
                      },
                      "id": 8803,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "history_hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7248,
                      "src": "31366:35:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8804,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8640,
                      "src": "31404:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "31366:55:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 8806,
                  "nodeType": "ExpressionStatement",
                  "src": "31366:55:17"
                }
              ]
            },
            "documentation": "@notice Assigns the winnings (bounty and bonds) to everyone who gave the accepted answer\n Caller must provide the answer history, in reverse order\n @dev Works up the chain and assign bonds to the person who gave the right answer\n If someone gave the winning answer earlier, they must get paid from the higher bond\n That means we can't pay out the bond added at n until we have looked at n-1\n The first answer is authenticated by checking against the stored history_hash.\n One of the inputs to history_hash is the history_hash before it, so we use that to authenticate the next entry, etc\n Once we get to a null hash we'll know we're done and there are no more answers.\n Usually you would call the whole thing in a single transaction, but if not then the data is persisted to pick up later.\n @param question_id The ID of the question\n @param history_hashes Second-last-to-first, the hash of each history entry. (Final one should be empty).\n @param addrs Last-to-first, the address of each answerer or commitment sender\n @param bonds Last-to-first, the bond supplied with each answer or commitment\n @param answers Last-to-first, each answer supplied, or commitment ID if the answer was supplied with commit->reveal",
            "id": 8808,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8607,
                    "name": "question_id",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8592,
                    "src": "28447:11:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  }
                ],
                "id": 8608,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8606,
                  "name": "stateFinalized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7477,
                  "src": "28432:14:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_bytes32_$",
                    "typeString": "modifier (bytes32)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "28432:27:17"
              }
            ],
            "name": "claimWinnings",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8605,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8592,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28309:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8591,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "28309:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8595,
                  "name": "history_hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28339:24:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8593,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "28339:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8594,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28339:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8598,
                  "name": "addrs",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28365:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8596,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "28365:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8597,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28365:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8601,
                  "name": "bonds",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28382:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8599,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "28382:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8600,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28382:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8604,
                  "name": "answers",
                  "nodeType": "VariableDeclaration",
                  "scope": 8808,
                  "src": "28399:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8602,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "28399:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 8603,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "28399:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28299:123:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8609,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "28471:0:17"
            },
            "scope": 9301,
            "src": "28277:3152:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8834,
              "nodeType": "Block",
              "src": "31519:113:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 8817,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 396,
                        "src": "31529:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 8819,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 8818,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8812,
                        "src": "31539:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "31529:16:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8824,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8814,
                          "src": "31569:5:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8820,
                            "name": "balanceOf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 396,
                            "src": "31548:9:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 8822,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 8821,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8812,
                            "src": "31558:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "31548:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 8823,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7067,
                        "src": "31548:20:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 8825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31548:27:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "31529:46:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8827,
                  "nodeType": "ExpressionStatement",
                  "src": "31529:46:17"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8829,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8810,
                        "src": "31599:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8830,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8812,
                        "src": "31612:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8831,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8814,
                        "src": "31619:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 8828,
                      "name": "LogClaim",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7230,
                      "src": "31590:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,address,uint256)"
                      }
                    },
                    "id": 8832,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "31590:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8833,
                  "nodeType": "EmitStatement",
                  "src": "31585:40:17"
                }
              ]
            },
            "documentation": null,
            "id": 8835,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_payPayee",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8815,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8810,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 8835,
                  "src": "31454:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8809,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31454:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8812,
                  "name": "payee",
                  "nodeType": "VariableDeclaration",
                  "scope": 8835,
                  "src": "31475:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8811,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "31475:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8814,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 8835,
                  "src": "31490:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8813,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "31490:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31453:51:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8816,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "31519:0:17"
            },
            "scope": 9301,
            "src": "31435:197:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8886,
              "nodeType": "Block",
              "src": "31823:364:17",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8861,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8850,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8837,
                      "src": "31837:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8854,
                              "name": "history_hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8839,
                              "src": "31885:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8855,
                              "name": "answer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8841,
                              "src": "31899:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8856,
                              "name": "bond",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8843,
                              "src": "31907:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8857,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8845,
                              "src": "31913:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 8858,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "31919:4:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 8852,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9690,
                              "src": "31868:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 8853,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "31868:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 8859,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "31868:56:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 8851,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9697,
                        "src": "31858:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 8860,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31858:67:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "31837:88:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8865,
                  "nodeType": "IfStatement",
                  "src": "31833:131:17",
                  "trueBody": {
                    "id": 8864,
                    "nodeType": "Block",
                    "src": "31928:36:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 8862,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "31949:4:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        "functionReturnParameters": 8849,
                        "id": 8863,
                        "nodeType": "Return",
                        "src": "31942:11:17"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8877,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8866,
                      "name": "last_history_hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8837,
                      "src": "31977:17:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8870,
                              "name": "history_hash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8839,
                              "src": "32025:12:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8871,
                              "name": "answer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8841,
                              "src": "32039:6:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8872,
                              "name": "bond",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8843,
                              "src": "32047:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8873,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8845,
                              "src": "32053:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 8874,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "32059:5:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 8868,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9690,
                              "src": "32008:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 8869,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "32008:16:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 8875,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "32008:57:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 8867,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9697,
                        "src": "31998:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 8876,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31998:68:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "31977:89:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8881,
                  "nodeType": "IfStatement",
                  "src": "31973:133:17",
                  "trueBody": {
                    "id": 8880,
                    "nodeType": "Block",
                    "src": "32069:37:17",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 8878,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "32090:5:17",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 8849,
                        "id": 8879,
                        "nodeType": "Return",
                        "src": "32083:12:17"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "486973746f727920696e7075742070726f766964656420646964206e6f74206d61746368207468652065787065637465642068617368",
                        "id": 8883,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "32123:56:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_105eb464ca1766d0405b5fa901151a4c75699ccc5e522facb7c8a5407d6bd553",
                          "typeString": "literal_string \"History input provided did not match the expected hash\""
                        },
                        "value": "History input provided did not match the expected hash"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_105eb464ca1766d0405b5fa901151a4c75699ccc5e522facb7c8a5407d6bd553",
                          "typeString": "literal_string \"History input provided did not match the expected hash\""
                        }
                      ],
                      "id": 8882,
                      "name": "revert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9708,
                        9709
                      ],
                      "referencedDeclaration": 9709,
                      "src": "32116:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory) pure"
                      }
                    },
                    "id": 8884,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "32116:64:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8885,
                  "nodeType": "ExpressionStatement",
                  "src": "32116:64:17"
                }
              ]
            },
            "documentation": null,
            "id": 8887,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "_verifyHistoryInputOrRevert",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8846,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8837,
                  "name": "last_history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31684:25:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8836,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31684:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8839,
                  "name": "history_hash",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31719:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8838,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31719:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8841,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31741:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8840,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "31741:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8843,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31757:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8842,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "31757:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8845,
                  "name": "addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31771:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8844,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "31771:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31674:115:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8849,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8848,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 8887,
                  "src": "31817:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8847,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "31817:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31816:6:17"
            },
            "scope": 9301,
            "src": "31638:549:17",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 9013,
              "nodeType": "Block",
              "src": "32437:2167:17",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 8910,
                    "name": "is_commitment",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8903,
                    "src": "32636:13:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8945,
                  "nodeType": "IfStatement",
                  "src": "32632:482:17",
                  "trueBody": {
                    "id": 8944,
                    "nodeType": "Block",
                    "src": "32651:463:17",
                    "statements": [
                      {
                        "assignments": [
                          8912
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8912,
                            "name": "commitment_id",
                            "nodeType": "VariableDeclaration",
                            "scope": 9014,
                            "src": "32665:21:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "typeName": {
                              "id": 8911,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "32665:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8914,
                        "initialValue": {
                          "argumentTypes": null,
                          "id": 8913,
                          "name": "answer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8901,
                          "src": "32689:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "32665:30:17"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 8919,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "32810:39:17",
                          "subExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8915,
                                "name": "commitments",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7288,
                                "src": "32811:11:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                  "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                }
                              },
                              "id": 8917,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8916,
                                "name": "commitment_id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8912,
                                "src": "32823:13:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "32811:26:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                "typeString": "struct Realitio_v2_1.Commitment storage ref"
                              }
                            },
                            "id": 8918,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "is_revealed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7255,
                            "src": "32811:38:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 8942,
                          "nodeType": "Block",
                          "src": "32969:135:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8935,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8930,
                                  "name": "answer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8901,
                                  "src": "32987:6:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 8931,
                                      "name": "commitments",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7288,
                                      "src": "32996:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                        "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                      }
                                    },
                                    "id": 8933,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 8932,
                                      "name": "commitment_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8912,
                                      "src": "33008:13:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "32996:26:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                      "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                    }
                                  },
                                  "id": 8934,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "revealed_answer",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 7257,
                                  "src": "32996:42:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "32987:51:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 8936,
                              "nodeType": "ExpressionStatement",
                              "src": "32987:51:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8940,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "delete",
                                "prefix": true,
                                "src": "33056:33:17",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8937,
                                    "name": "commitments",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7288,
                                    "src": "33063:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                    }
                                  },
                                  "id": 8939,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8938,
                                    "name": "commitment_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8912,
                                    "src": "33075:13:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "33063:26:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                    "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8941,
                              "nodeType": "ExpressionStatement",
                              "src": "33056:33:17"
                            }
                          ]
                        },
                        "id": 8943,
                        "nodeType": "IfStatement",
                        "src": "32806:298:17",
                        "trueBody": {
                          "id": 8929,
                          "nodeType": "Block",
                          "src": "32851:112:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8923,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "delete",
                                "prefix": true,
                                "src": "32869:33:17",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 8920,
                                    "name": "commitments",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7288,
                                    "src": "32876:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$7258_storage_$",
                                      "typeString": "mapping(bytes32 => struct Realitio_v2_1.Commitment storage ref)"
                                    }
                                  },
                                  "id": 8922,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 8921,
                                    "name": "commitment_id",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8912,
                                    "src": "32888:13:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "32876:26:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Commitment_$7258_storage",
                                    "typeString": "struct Realitio_v2_1.Commitment storage ref"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8924,
                              "nodeType": "ExpressionStatement",
                              "src": "32869:33:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8925,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8893,
                                    "src": "32928:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8926,
                                    "name": "payee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8895,
                                    "src": "32942:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "id": 8927,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "32927:21:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                                  "typeString": "tuple(uint256,address)"
                                }
                              },
                              "functionReturnParameters": 8909,
                              "id": 8928,
                              "nodeType": "Return",
                              "src": "32920:28:17"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 8948,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8946,
                      "name": "answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8901,
                      "src": "33128:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8947,
                      "name": "best_answer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8891,
                      "src": "33138:11:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "33128:21:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 9008,
                  "nodeType": "IfStatement",
                  "src": "33124:1434:17",
                  "trueBody": {
                    "id": 9007,
                    "nodeType": "Block",
                    "src": "33151:1407:17",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 8951,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8949,
                            "name": "payee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8895,
                            "src": "33170:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8950,
                            "name": "NULL_ADDRESS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7113,
                            "src": "33179:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "33170:21:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "id": 8976,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 8974,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8897,
                              "src": "33509:4:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 8975,
                              "name": "payee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8895,
                              "src": "33517:5:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "33509:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": null,
                          "id": 9005,
                          "nodeType": "IfStatement",
                          "src": "33505:1042:17",
                          "trueBody": {
                            "id": 9004,
                            "nodeType": "Block",
                            "src": "33524:1023:17",
                            "statements": [
                              {
                                "assignments": [
                                  8978
                                ],
                                "declarations": [
                                  {
                                    "constant": false,
                                    "id": 8978,
                                    "name": "answer_takeover_fee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 9014,
                                    "src": "34143:27:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "typeName": {
                                      "id": 8977,
                                      "name": "uint256",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "34143:7:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                  }
                                ],
                                "id": 8986,
                                "initialValue": {
                                  "argumentTypes": null,
                                  "condition": {
                                    "argumentTypes": null,
                                    "components": [
                                      {
                                        "argumentTypes": null,
                                        "commonType": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        "id": 8981,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "argumentTypes": null,
                                          "id": 8979,
                                          "name": "queued_funds",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8893,
                                          "src": "34174:12:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": ">=",
                                        "rightExpression": {
                                          "argumentTypes": null,
                                          "id": 8980,
                                          "name": "bond",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8899,
                                          "src": "34190:4:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "src": "34174:20:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      }
                                    ],
                                    "id": 8982,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "34173:22:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "falseExpression": {
                                    "argumentTypes": null,
                                    "id": 8984,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8893,
                                    "src": "34205:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 8985,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "Conditional",
                                  "src": "34173:44:17",
                                  "trueExpression": {
                                    "argumentTypes": null,
                                    "id": 8983,
                                    "name": "bond",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8899,
                                    "src": "34198:4:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "VariableDeclarationStatement",
                                "src": "34143:74:17"
                              },
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 8988,
                                      "name": "question_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8889,
                                      "src": "34309:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8989,
                                      "name": "payee",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8895,
                                      "src": "34322:5:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "id": 8992,
                                          "name": "answer_takeover_fee",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8978,
                                          "src": "34346:19:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 8990,
                                          "name": "queued_funds",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8893,
                                          "src": "34329:12:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "id": 8991,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sub",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 7043,
                                        "src": "34329:16:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                                        }
                                      },
                                      "id": 8993,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "34329:37:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      },
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 8987,
                                    "name": "_payPayee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8835,
                                    "src": "34299:9:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$",
                                      "typeString": "function (bytes32,address,uint256)"
                                    }
                                  },
                                  "id": 8994,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "34299:68:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 8995,
                                "nodeType": "ExpressionStatement",
                                "src": "34299:68:17"
                              },
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 8998,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "argumentTypes": null,
                                    "id": 8996,
                                    "name": "payee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8895,
                                    "src": "34467:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "argumentTypes": null,
                                    "id": 8997,
                                    "name": "addr",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8897,
                                    "src": "34475:4:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "src": "34467:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "id": 8999,
                                "nodeType": "ExpressionStatement",
                                "src": "34467:12:17"
                              },
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 9002,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "argumentTypes": null,
                                    "id": 9000,
                                    "name": "queued_funds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8893,
                                    "src": "34497:12:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "argumentTypes": null,
                                    "id": 9001,
                                    "name": "answer_takeover_fee",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8978,
                                    "src": "34512:19:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "34497:34:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 9003,
                                "nodeType": "ExpressionStatement",
                                "src": "34497:34:17"
                              }
                            ]
                          }
                        },
                        "id": 9006,
                        "nodeType": "IfStatement",
                        "src": "33166:1381:17",
                        "trueBody": {
                          "id": 8973,
                          "nodeType": "Block",
                          "src": "33193:306:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8954,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8952,
                                  "name": "payee",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8895,
                                  "src": "33340:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 8953,
                                  "name": "addr",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8897,
                                  "src": "33348:4:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "33340:12:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 8955,
                              "nodeType": "ExpressionStatement",
                              "src": "33340:12:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8964,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 8956,
                                  "name": "queued_funds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8893,
                                  "src": "33370:12:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 8959,
                                          "name": "questions",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 7280,
                                          "src": "33402:9:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                            "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                          }
                                        },
                                        "id": 8961,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 8960,
                                          "name": "question_id",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8889,
                                          "src": "33412:11:17",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "33402:22:17",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Question_$7251_storage",
                                          "typeString": "struct Realitio_v2_1.Question storage ref"
                                        }
                                      },
                                      "id": 8962,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "bounty",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 7244,
                                      "src": "33402:29:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 8957,
                                      "name": "queued_funds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8893,
                                      "src": "33385:12:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 8958,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "add",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 7067,
                                    "src": "33385:16:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                      "typeString": "function (uint256,uint256) pure returns (uint256)"
                                    }
                                  },
                                  "id": 8963,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "33385:47:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "33370:62:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8965,
                              "nodeType": "ExpressionStatement",
                              "src": "33370:62:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8971,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 8966,
                                      "name": "questions",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7280,
                                      "src": "33450:9:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                                        "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                                      }
                                    },
                                    "id": 8968,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 8967,
                                      "name": "question_id",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8889,
                                      "src": "33460:11:17",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "33450:22:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Question_$7251_storage",
                                      "typeString": "struct Realitio_v2_1.Question storage ref"
                                    }
                                  },
                                  "id": 8969,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberName": "bounty",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 7244,
                                  "src": "33450:29:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 8970,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "33482:1:17",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "33450:33:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 8972,
                              "nodeType": "ExpressionStatement",
                              "src": "33450:33:17"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "id": 9009,
                        "name": "queued_funds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8893,
                        "src": "34576:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9010,
                        "name": "payee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8895,
                        "src": "34590:5:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "id": 9011,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "34575:21:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$",
                      "typeString": "tuple(uint256,address)"
                    }
                  },
                  "functionReturnParameters": 8909,
                  "id": 9012,
                  "nodeType": "Return",
                  "src": "34568:28:17"
                }
              ]
            },
            "documentation": null,
            "id": 9014,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_processHistoryItem",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 8904,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8889,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32231:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8888,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "32231:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8891,
                  "name": "best_answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32252:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8890,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "32252:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8893,
                  "name": "queued_funds",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32282:20:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8892,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "32282:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8895,
                  "name": "payee",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32304:13:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8894,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32304:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8897,
                  "name": "addr",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32328:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8896,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32328:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8899,
                  "name": "bond",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32342:12:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8898,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "32342:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8901,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32356:14:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8900,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "32356:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8903,
                  "name": "is_commitment",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32372:18:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8902,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "32372:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "32221:175:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 8909,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8906,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32419:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8905,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "32419:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8908,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9014,
                  "src": "32428:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8907,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32428:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "32418:18:17"
            },
            "scope": 9301,
            "src": "32193:2411:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 9169,
              "nodeType": "Block",
              "src": "35829:723:17",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9038,
                      "name": "qi",
                      "nodeType": "VariableDeclaration",
                      "scope": 9170,
                      "src": "35848:10:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9037,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "35848:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9039,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "35848:10:17"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9041,
                      "name": "i",
                      "nodeType": "VariableDeclaration",
                      "scope": 9170,
                      "src": "35868:9:17",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9040,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "35868:7:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9042,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "35868:9:17"
                },
                {
                  "body": {
                    "id": 9164,
                    "nodeType": "Block",
                    "src": "35932:594:17",
                    "statements": [
                      {
                        "assignments": [
                          9055
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9055,
                            "name": "qid",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "35946:11:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "typeName": {
                              "id": 9054,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "35946:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9059,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9056,
                            "name": "question_ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9017,
                            "src": "35960:12:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "id": 9058,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 9057,
                            "name": "qi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9038,
                            "src": "35973:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "35960:16:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "35946:30:17"
                      },
                      {
                        "assignments": [
                          9061
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9061,
                            "name": "ln",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "35990:10:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9060,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "35990:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9065,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9062,
                            "name": "lengths",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9020,
                            "src": "36003:7:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9064,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 9063,
                            "name": "qi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9038,
                            "src": "36011:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "36003:11:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "35990:24:17"
                      },
                      {
                        "assignments": [
                          9069
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9069,
                            "name": "hh",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36028:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9067,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36028:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9068,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36028:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9075,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9073,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36064:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9072,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36050:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (bytes32[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9070,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36054:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9071,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36054:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            }
                          },
                          "id": 9074,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36050:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory",
                            "typeString": "bytes32[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36028:39:17"
                      },
                      {
                        "assignments": [
                          9079
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9079,
                            "name": "ad",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36081:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9077,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "36081:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9078,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36081:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                "typeString": "address[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9085,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9083,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36117:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9082,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36103:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (address[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9080,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "36107:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9081,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36107:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                "typeString": "address[]"
                              }
                            }
                          },
                          "id": 9084,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36103:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory",
                            "typeString": "address[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36081:39:17"
                      },
                      {
                        "assignments": [
                          9089
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9089,
                            "name": "bo",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36134:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9087,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "36134:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9088,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36134:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                                "typeString": "uint256[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9095,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9093,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36170:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9092,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36156:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (uint256[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9090,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "36160:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9091,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36160:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                                "typeString": "uint256[]"
                              }
                            }
                          },
                          "id": 9094,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36156:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36134:39:17"
                      },
                      {
                        "assignments": [
                          9099
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9099,
                            "name": "an",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36187:19:17",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9097,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36187:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9098,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36187:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9105,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9103,
                              "name": "ln",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9061,
                              "src": "36223:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 9102,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "36209:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$",
                              "typeString": "function (uint256) pure returns (bytes32[] memory)"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 9100,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "36213:7:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9101,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "36213:9:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                "typeString": "bytes32[]"
                              }
                            }
                          },
                          "id": 9104,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36209:17:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory",
                            "typeString": "bytes32[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36187:39:17"
                      },
                      {
                        "assignments": [],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9107,
                            "name": "j",
                            "nodeType": "VariableDeclaration",
                            "scope": 9170,
                            "src": "36240:9:17",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9106,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "36240:7:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9108,
                        "initialValue": null,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "36240:9:17"
                      },
                      {
                        "body": {
                          "id": 9154,
                          "nodeType": "Block",
                          "src": "36288:180:17",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9125,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9119,
                                    "name": "hh",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9069,
                                    "src": "36306:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9121,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9120,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36309:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36306:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9122,
                                    "name": "hist_hashes",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9023,
                                    "src": "36314:11:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9124,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9123,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36326:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36314:14:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "36306:22:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9126,
                              "nodeType": "ExpressionStatement",
                              "src": "36306:22:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9133,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9127,
                                    "name": "ad",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9079,
                                    "src": "36346:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 9129,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9128,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36349:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36346:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9130,
                                    "name": "addrs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9026,
                                    "src": "36354:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 9132,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9131,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36360:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36354:8:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "36346:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 9134,
                              "nodeType": "ExpressionStatement",
                              "src": "36346:16:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9141,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9135,
                                    "name": "bo",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9089,
                                    "src": "36380:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 9137,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9136,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36383:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36380:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9138,
                                    "name": "bonds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9029,
                                    "src": "36388:5:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 9140,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9139,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36394:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36388:8:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "36380:16:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9142,
                              "nodeType": "ExpressionStatement",
                              "src": "36380:16:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9149,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9143,
                                    "name": "an",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9099,
                                    "src": "36414:2:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9145,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9144,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9107,
                                    "src": "36417:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "36414:5:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 9146,
                                    "name": "answers",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9032,
                                    "src": "36422:7:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                      "typeString": "bytes32[] memory"
                                    }
                                  },
                                  "id": 9148,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 9147,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9041,
                                    "src": "36430:1:17",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "36422:10:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "36414:18:17",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 9150,
                              "nodeType": "ExpressionStatement",
                              "src": "36414:18:17"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 9152,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "++",
                                "prefix": false,
                                "src": "36450:3:17",
                                "subExpression": {
                                  "argumentTypes": null,
                                  "id": 9151,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9041,
                                  "src": "36450:1:17",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 9153,
                              "nodeType": "ExpressionStatement",
                              "src": "36450:3:17"
                            }
                          ]
                        },
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 9115,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 9113,
                            "name": "j",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9107,
                            "src": "36275:1:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 9114,
                            "name": "ln",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9061,
                            "src": "36279:2:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "36275:6:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 9155,
                        "initializationExpression": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 9111,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "id": 9109,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9107,
                              "src": "36268:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9110,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "36272:1:17",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "src": "36268:5:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 9112,
                          "nodeType": "ExpressionStatement",
                          "src": "36268:5:17"
                        },
                        "loopExpression": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 9117,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "36283:3:17",
                            "subExpression": {
                              "argumentTypes": null,
                              "id": 9116,
                              "name": "j",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9107,
                              "src": "36283:1:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 9118,
                          "nodeType": "ExpressionStatement",
                          "src": "36283:3:17"
                        },
                        "nodeType": "ForStatement",
                        "src": "36263:205:17"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9157,
                              "name": "qid",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9055,
                              "src": "36495:3:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9158,
                              "name": "hh",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9069,
                              "src": "36500:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9159,
                              "name": "ad",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9079,
                              "src": "36504:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                "typeString": "address[] memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9160,
                              "name": "bo",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9089,
                              "src": "36508:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9161,
                              "name": "an",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9099,
                              "src": "36512:2:17",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                "typeString": "address[] memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            ],
                            "id": 9156,
                            "name": "claimWinnings",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8808,
                            "src": "36481:13:17",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
                              "typeString": "function (bytes32,bytes32[] memory,address[] memory,uint256[] memory,bytes32[] memory)"
                            }
                          },
                          "id": 9162,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "36481:34:17",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 9163,
                        "nodeType": "ExpressionStatement",
                        "src": "36481:34:17"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9050,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 9047,
                      "name": "qi",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9038,
                      "src": "35900:2:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 9048,
                        "name": "question_ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9017,
                        "src": "35905:12:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                          "typeString": "bytes32[] memory"
                        }
                      },
                      "id": 9049,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "35905:19:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "35900:24:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 9165,
                  "initializationExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9045,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 9043,
                        "name": "qi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9038,
                        "src": "35892:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 9044,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "35897:1:17",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "35892:6:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9046,
                    "nodeType": "ExpressionStatement",
                    "src": "35892:6:17"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9052,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "35926:4:17",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 9051,
                        "name": "qi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9038,
                        "src": "35926:2:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9053,
                    "nodeType": "ExpressionStatement",
                    "src": "35926:4:17"
                  },
                  "nodeType": "ForStatement",
                  "src": "35887:639:17"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 9166,
                      "name": "withdraw",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 434,
                      "src": "36535:8:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 9167,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "36535:10:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9168,
                  "nodeType": "ExpressionStatement",
                  "src": "36535:10:17"
                }
              ]
            },
            "documentation": "@notice Convenience function to assign bounties/bonds for multiple questions in one go, then withdraw all your funds.\n Caller must provide the answer history for each question, in reverse order\n @dev Can be called by anyone to assign bonds/bounties, but funds are only withdrawn for the user making the call.\n @param question_ids The IDs of the questions you want to claim for\n @param lengths The number of history entries you will supply for each question ID\n @param hist_hashes In a single list for all supplied questions, the hash of each history entry.\n @param addrs In a single list for all supplied questions, the address of each answerer or commitment sender\n @param bonds In a single list for all supplied questions, the bond supplied with each answer or commitment\n @param answers In a single list for all supplied questions, each answer supplied, or commitment ID ",
            "id": 9170,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [],
                "id": 9035,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9034,
                  "name": "stateAny",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 7313,
                  "src": "35741:8:17",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "35741:10:17"
              }
            ],
            "name": "claimMultipleAndWithdrawBalance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9033,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9017,
                  "name": "question_ids",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35599:22:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9015,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "35599:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 9016,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35599:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9020,
                  "name": "lengths",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35623:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9018,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "35623:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9019,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35623:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9023,
                  "name": "hist_hashes",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35651:21:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9021,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "35651:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 9022,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35651:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9026,
                  "name": "addrs",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35674:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9024,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "35674:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9025,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35674:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9029,
                  "name": "bonds",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35691:15:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9027,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "35691:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9028,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35691:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9032,
                  "name": "answers",
                  "nodeType": "VariableDeclaration",
                  "scope": 9170,
                  "src": "35708:17:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9030,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "35708:7:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 9031,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "35708:9:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "35589:142:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9036,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "35829:0:17"
            },
            "scope": 9301,
            "src": "35549:1003:17",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9182,
              "nodeType": "Block",
              "src": "36775:59:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9177,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "36792:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9179,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9178,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9172,
                        "src": "36802:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "36792:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9180,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "content_hash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7232,
                    "src": "36792:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 9176,
                  "id": 9181,
                  "nodeType": "Return",
                  "src": "36785:42:17"
                }
              ]
            },
            "documentation": "@notice Returns the questions's content hash, identifying the question content\n @param question_id The ID of the question ",
            "id": 9183,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getContentHash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9172,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9183,
                  "src": "36720:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9171,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "36720:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "36719:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9176,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9175,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9183,
                  "src": "36766:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9174,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "36766:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "36765:9:17"
            },
            "scope": 9301,
            "src": "36696:138:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9195,
              "nodeType": "Block",
              "src": "37033:57:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9190,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37050:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9192,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9191,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9185,
                        "src": "37060:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37050:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9193,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "arbitrator",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7234,
                    "src": "37050:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 9189,
                  "id": 9194,
                  "nodeType": "Return",
                  "src": "37043:40:17"
                }
              ]
            },
            "documentation": "@notice Returns the arbitrator address for the question\n @param question_id The ID of the question ",
            "id": 9196,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getArbitrator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9186,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9185,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9196,
                  "src": "36978:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9184,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "36978:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "36977:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9189,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9188,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9196,
                  "src": "37024:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9187,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "37024:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37023:9:17"
            },
            "scope": 9301,
            "src": "36955:135:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9208,
              "nodeType": "Block",
              "src": "37301:57:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9203,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37318:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9205,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9204,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9198,
                        "src": "37328:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37318:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9206,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "opening_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7236,
                    "src": "37318:33:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "functionReturnParameters": 9202,
                  "id": 9207,
                  "nodeType": "Return",
                  "src": "37311:40:17"
                }
              ]
            },
            "documentation": "@notice Returns the timestamp when the question can first be answered\n @param question_id The ID of the question ",
            "id": 9209,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getOpeningTS",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9199,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9198,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9209,
                  "src": "37247:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9197,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37247:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37246:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9201,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9209,
                  "src": "37293:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 9200,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37293:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37292:8:17"
            },
            "scope": 9301,
            "src": "37225:133:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9221,
              "nodeType": "Block",
              "src": "37559:54:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9216,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37576:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9218,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9217,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9211,
                        "src": "37586:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37576:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9219,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "timeout",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7238,
                    "src": "37576:30:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "functionReturnParameters": 9215,
                  "id": 9220,
                  "nodeType": "Return",
                  "src": "37569:37:17"
                }
              ]
            },
            "documentation": "@notice Returns the timeout in seconds used after each answer\n @param question_id The ID of the question ",
            "id": 9222,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getTimeout",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9212,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9211,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9222,
                  "src": "37505:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9210,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37505:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37504:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9215,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9214,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9222,
                  "src": "37551:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 9213,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37551:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37550:8:17"
            },
            "scope": 9301,
            "src": "37485:128:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9234,
              "nodeType": "Block",
              "src": "37829:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9229,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "37846:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9231,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9230,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9224,
                        "src": "37856:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "37846:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9232,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "finalize_ts",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7240,
                    "src": "37846:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "functionReturnParameters": 9228,
                  "id": 9233,
                  "nodeType": "Return",
                  "src": "37839:41:17"
                }
              ]
            },
            "documentation": "@notice Returns the timestamp at which the question will be/was finalized\n @param question_id The ID of the question ",
            "id": 9235,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getFinalizeTS",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9225,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9224,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9235,
                  "src": "37775:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9223,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37775:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37774:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9228,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9227,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9235,
                  "src": "37821:6:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 9226,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "37821:6:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "37820:8:17"
            },
            "scope": 9301,
            "src": "37752:135:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9247,
              "nodeType": "Block",
              "src": "38094:69:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9242,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38111:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9244,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9243,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9237,
                        "src": "38121:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38111:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9245,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "is_pending_arbitration",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7242,
                    "src": "38111:45:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 9241,
                  "id": 9246,
                  "nodeType": "Return",
                  "src": "38104:52:17"
                }
              ]
            },
            "documentation": "@notice Returns whether the question is pending arbitration\n @param question_id The ID of the question ",
            "id": 9248,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isPendingArbitration",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9238,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9237,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9248,
                  "src": "38042:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9236,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38042:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38041:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9241,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9240,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9248,
                  "src": "38088:4:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9239,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "38088:4:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38087:6:17"
            },
            "scope": 9301,
            "src": "38012:151:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9260,
              "nodeType": "Block",
              "src": "38416:53:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9255,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38433:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9257,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9256,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9250,
                        "src": "38443:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38433:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9258,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "bounty",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7244,
                    "src": "38433:29:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 9254,
                  "id": 9259,
                  "nodeType": "Return",
                  "src": "38426:36:17"
                }
              ]
            },
            "documentation": "@notice Returns the current total unclaimed bounty\n @dev Set back to zero once the bounty has been claimed\n @param question_id The ID of the question ",
            "id": 9261,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBounty",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9251,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9250,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9261,
                  "src": "38361:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9249,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38361:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38360:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9254,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9253,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9261,
                  "src": "38407:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9252,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "38407:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38406:9:17"
            },
            "scope": 9301,
            "src": "38342:127:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9273,
              "nodeType": "Block",
              "src": "38652:58:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9268,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38669:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9270,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9269,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9263,
                        "src": "38679:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38669:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9271,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "best_answer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7246,
                    "src": "38669:34:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 9267,
                  "id": 9272,
                  "nodeType": "Return",
                  "src": "38662:41:17"
                }
              ]
            },
            "documentation": "@notice Returns the current best answer\n @param question_id The ID of the question ",
            "id": 9274,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBestAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9264,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9263,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9274,
                  "src": "38597:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9262,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38597:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38596:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9266,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9274,
                  "src": "38643:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9265,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38643:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38642:9:17"
            },
            "scope": 9301,
            "src": "38574:136:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9286,
              "nodeType": "Block",
              "src": "38973:59:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9281,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "38990:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9283,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9282,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9276,
                        "src": "39000:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "38990:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9284,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "history_hash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7248,
                    "src": "38990:35:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 9280,
                  "id": 9285,
                  "nodeType": "Return",
                  "src": "38983:42:17"
                }
              ]
            },
            "documentation": "@notice Returns the history hash of the question \n @param question_id The ID of the question \n @dev Updated on each answer, then rewound as each is claimed",
            "id": 9287,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getHistoryHash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9277,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9276,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9287,
                  "src": "38918:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9275,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38918:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38917:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9280,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9279,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9287,
                  "src": "38964:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9278,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "38964:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "38963:9:17"
            },
            "scope": 9301,
            "src": "38894:138:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 9299,
              "nodeType": "Block",
              "src": "39231:51:17",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9294,
                        "name": "questions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7280,
                        "src": "39248:9:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Question_$7251_storage_$",
                          "typeString": "mapping(bytes32 => struct Realitio_v2_1.Question storage ref)"
                        }
                      },
                      "id": 9296,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 9295,
                        "name": "question_id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9289,
                        "src": "39258:11:17",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "39248:22:17",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Question_$7251_storage",
                        "typeString": "struct Realitio_v2_1.Question storage ref"
                      }
                    },
                    "id": 9297,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "bond",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 7250,
                    "src": "39248:27:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 9293,
                  "id": 9298,
                  "nodeType": "Return",
                  "src": "39241:34:17"
                }
              ]
            },
            "documentation": "@notice Returns the highest bond posted so far for a question\n @param question_id The ID of the question ",
            "id": 9300,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBond",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 9290,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9289,
                  "name": "question_id",
                  "nodeType": "VariableDeclaration",
                  "scope": 9300,
                  "src": "39176:19:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9288,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "39176:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "39175:21:17"
            },
            "payable": false,
            "returnParameters": {
              "id": 9293,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9292,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 9300,
                  "src": "39222:7:17",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9291,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "39222:7:17",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "39221:9:17"
            },
            "scope": 9301,
            "src": "39159:123:17",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 9302,
        "src": "306:38979:17"
      }
    ],
    "src": "0:39286:17"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang",
    "optimizer": false,
    "runs": 200
  },
  "networks": {},
  "schemaVersion": "2.3.3",
  "updatedAt": "2021-01-13T02:23:04.757Z"
}