{
  "contractName": "CommandList",
  "abi": [],
  "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/list/CommandList.sol\":\"CommandList\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/list/CommandList.sol\":{\"keccak256\":\"0xa7a58e682db5b59a10603a8bb02bf151802b462be21279d79fd594b34f49ad26\",\"urls\":[\"bzzr://c13f88bce10557ebe54f6e9f5767240be8a1c1c9b6d19bfb57178b9e2f19a7d6\"]},\"/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x239546071316c89d3bbc9e61b2ccae270a4493bbd2f7c240052f533807d50ab7\",\"urls\":[\"bzzr://267bf48e0a30f7b671aa3c98a6b27ffe7bc64efd6533f49e54188b520baa94c5\"]}},\"version\":1}",
  "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820edec1f5f4cc86cd31d5054f242a4d0efd448ac2fa5cb9b58fa92db21862c83870029",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820edec1f5f4cc86cd31d5054f242a4d0efd448ac2fa5cb9b58fa92db21862c83870029",
  "sourceMap": "126:9106:15:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24",
  "deployedSourceMap": "126:9106:15:-;;;;;;;;",
  "source": "pragma solidity >=0.4.24;\n\nimport \"../math/SafeMath.sol\";\n// import \"./TransferList.sol\";\n\n/**\n * @dev 通证列表处理\n */\nlibrary CommandList {\n  using SafeMath for uint256;\n\n  enum Verbs {TRANSFER, EXCHANGE, EXECUTE}\n\n  // 通证定义\n  struct element {\n    // 提交人\n    address submitter;\n    // 处理人\n    address agent;\n    // 从哪条链,遵循BIP44\n    uint256 fromChain;\n    // 跨到哪条链,遵循BIP44\n    uint256 toChain;\n    // 操作 0 transfer 1 exchange 2 execute\n    uint256 verbs;\n    // 状态 1表示提交等待锁定处理，2表示被锁定 3表示部分已经处理剩余解除锁定等待处理 4撤销处理 5处理完毕订单关闭\n    uint256 status;\n    // 细节数据索引位置, payload类型有三种: Transfer, Exchange, Execute\n    bytes32 payloadHash;\n  }\n\n  struct commandMap {\n    // data array 单向增加\n    element[] list;\n    // new fresh command\n    uint256[] waiting;\n    // locking command for process\n    uint256[] locking;\n    // canceled command:用户主动取消或者公证人取消\n    uint256[] canceled;\n    // completed command\n    uint256[] completed;\n    // 提交人命令清单,数组单向增加\n    mapping(address => uint256[]) submitterCmds;\n    // 处理人命令清单,数组单向增加\n    mapping(address => uint256[]) agentCmds;\n  }\n\n  modifier validVerbs(uint256 _verbs) {\n    require(\n      _verbs == uint256(Verbs.TRANSFER) ||\n        _verbs == uint256(Verbs.EXCHANGE) ||\n        _verbs == uint256(Verbs.EXECUTE),\n      \"invalid verbs\"\n    );\n    _;\n  }\n\n  function exist(commandMap storage self, uint256 _idx)\n    internal\n    view\n    returns (bool)\n  {\n    if (_idx >= self.list.length) return false;\n    return true;\n  }\n\n  // 增加跨链转账指令,单向增长\n  function insert(\n    commandMap storage self,\n    address _submitter,\n    uint256 _fromChain,\n    uint256 _toChain,\n    uint256 _verbs,\n    bytes32 _payloadHash\n  ) internal validVerbs(_verbs) returns (uint256) {\n    element memory e = element({\n      submitter: _submitter,\n      agent: address(0),\n      fromChain: _fromChain,\n      toChain: _toChain,\n      verbs: _verbs,\n      status: 1,\n      payloadHash: _payloadHash\n    });\n\n    uint256 _idx = self.list.length;\n    self.list.push(e);\n    self.waiting.push(_idx);\n    self.submitterCmds[_submitter].push(_idx);\n\n    return _idx;\n  }\n\n  function getIdx(uint256[] _arr, uint256 _idx)\n    internal\n    pure\n    returns (bool, uint256)\n  {\n    if (_arr.length == 0) {\n      return (false, 0);\n    }\n    for (uint256 i = _arr.length - 1; i > 0; i--) {\n      if (_arr[i] == _idx) {\n        return (true, i);\n      }\n    }\n\n    return _arr[0] == _idx ? (true, 0) : (false, 0);\n  }\n\n  function lock(commandMap storage self, address _agent, uint256 _idx)\n    internal\n    returns (bool)\n  {\n    require(exist(self, _idx), \"lock command does not exist\");\n\n    // get idx from waiting\n    uint256 _waitingIdx;\n    bool _exist;\n    (_exist, _waitingIdx) = getIdx(self.waiting, _idx);\n    require(_exist, \"idx does not exist in waiting list\");\n\n    // remove idx from waiting\n    self.waiting[_waitingIdx] = self.waiting[self.waiting.length.sub(1)];\n    self.waiting.length = self.waiting.length.sub(1);\n\n    // add idx to lock\n    self.locking.push(_idx);\n    // update to agent mapping\n    self.list[_idx].agent = _agent;\n    self.list[_idx].status = 2;\n    self.agentCmds[_agent].push(_idx);\n\n    return true;\n  }\n\n  function cancelFromWaiting(commandMap storage self, uint256 _idx)\n    internal\n    returns (bool)\n  {\n    // get idx from waiting\n    uint256 _waitingIdx;\n    bool _exist;\n    (_exist, _waitingIdx) = getIdx(self.waiting, _idx);\n    require(_exist, \"idx does not exist in waiting list\");\n\n    // remove idx from waiting 0\n    self.waiting[_waitingIdx] = self.waiting[self.waiting.length.sub(1)];\n    self.waiting.length = self.waiting.length.sub(1);\n\n    // add idx to canceled\n    self.canceled.push(_idx);\n    self.list[_idx].status = 4;\n\n    return true;\n  }\n\n  function cancel(commandMap storage self, address _agent, uint256 _idx)\n    internal\n    returns (bool)\n  {\n    require(exist(self, _idx), \"lock command does not exist\");\n    require(\n      self.list[_idx].status != 4 && self.list[_idx].status != 5,\n      \"lock command status can not be canceled or done\"\n    );\n\n    // in waiting list\n    if (self.list[_idx].status == 1) {\n      // 调用者要检查msg.sender\n      require(\n        _agent == self.list[_idx].submitter,\n        \"user only cancel him own command\"\n      );\n      return cancelFromWaiting(self, _idx);\n    }\n\n    // 代理取消\n    // get idx from locking\n    uint256 _lockingIdx;\n    bool _exist;\n    (_exist, _lockingIdx) = getIdx(self.locking, _idx);\n    require(_exist, \"idx does not exist in locking list\");\n    require(_agent == self.list[_idx].agent, \"agent cancel command himself\");\n\n    // remove idx from locking\n    self.locking[_lockingIdx] = self.locking[self.locking.length.sub(1)];\n    self.locking.length = self.locking.length.sub(1);\n\n    // add idx to canceled\n    self.canceled.push(_idx);\n    self.list[_idx].status = 4;\n\n    return true;\n  }\n\n  function complete(commandMap storage self, address _agent, uint256 _idx)\n    internal\n    returns (bool)\n  {\n    require(exist(self, _idx), \"lock command does not exist\");\n    // 只有被锁定的才能结束\n    require(\n      self.list[_idx].status == 2,\n      \"lock command status can be completed\"\n    );\n    require(_agent == self.list[_idx].agent, \"agent cancel command himself\");\n\n    // get idx from locking\n    uint256 _lockingIdx;\n    bool _exist;\n    (_exist, _lockingIdx) = getIdx(self.locking, _idx);\n    require(_exist, \"idx does not exist in locking list\");\n\n    // remove idx from locking\n    self.locking[_lockingIdx] = self.locking[self.locking.length.sub(1)];\n    self.locking.length = self.locking.length.sub(1);\n\n    // add idx to completed\n    self.completed.push(_idx);\n    self.list[_idx].status = 5;\n\n    return true;\n  }\n\n  function count(commandMap storage self) internal view returns (uint256) {\n    return self.list.length;\n  }\n\n  function countWaiting(commandMap storage self)\n    internal\n    view\n    returns (uint256)\n  {\n    return self.waiting.length;\n  }\n\n  function countLocking(commandMap storage self)\n    internal\n    view\n    returns (uint256)\n  {\n    return self.locking.length;\n  }\n\n  function countCanceled(commandMap storage self)\n    internal\n    view\n    returns (uint256)\n  {\n    return self.canceled.length;\n  }\n\n  function countCompleted(commandMap storage self)\n    internal\n    view\n    returns (uint256)\n  {\n    return self.completed.length;\n  }\n\n  function countBySubmitter(commandMap storage self, address _submitter)\n    internal\n    view\n    returns (uint256)\n  {\n    return self.submitterCmds[_submitter].length;\n  }\n\n  function countByAgent(commandMap storage self, address _agent)\n    internal\n    view\n    returns (uint256)\n  {\n    return self.agentCmds[_agent].length;\n  }\n\n  function getByIdx(commandMap storage self, uint256 _idx)\n    internal\n    view\n    returns (CommandList.element)\n  {\n    require(_idx < self.list.length, \"index must small than current count\");\n    return self.list[_idx];\n  }\n\n  function getIdxBySubmitter(commandMap storage self, address _submitter)\n    internal\n    view\n    returns (uint256[])\n  {\n    return self.submitterCmds[_submitter];\n  }\n\n  function getIdxByAgent(commandMap storage self, address _agent)\n    internal\n    view\n    returns (uint256[])\n  {\n    return self.agentCmds[_agent];\n  }\n\n  function getWaitingIdx(commandMap storage self)\n    internal\n    view\n    returns (uint256[])\n  {\n    return self.waiting;\n  }\n\n  function getLockingIdx(commandMap storage self)\n    internal\n    view\n    returns (uint256[])\n  {\n    return self.locking;\n  }\n\n  function getElement(\n    commandMap storage self,\n    uint256[] _arr,\n    uint256 _from,\n    uint256 _count\n  ) internal view returns (CommandList.element[] memory) {\n    uint256 _idx = 0;\n    require(_count > 0, \"return number must bigger than 0\");\n    CommandList.element[] memory res = new CommandList.element[](_count);\n\n    for (uint256 i = _from; i < _arr.length; i++) {\n      if (_idx == _count) {\n        break;\n      }\n\n      res[_idx] = self.list[_arr[i]];\n      _idx = _idx.add(1);\n    }\n\n    return res;\n  }\n\n  function getBySubmitter(\n    commandMap storage self,\n    address _submitter,\n    uint256 _from,\n    uint256 _count\n  ) internal view returns (CommandList.element[] memory) {\n    return getElement(self, self.submitterCmds[_submitter], _from, _count);\n  }\n\n  function getByAgent(\n    commandMap storage self,\n    address _agent,\n    uint256 _from,\n    uint256 _count\n  ) internal view returns (CommandList.element[] memory) {\n    return getElement(self, self.agentCmds[_agent], _from, _count);\n  }\n\n  function getByCanceled(commandMap storage self, uint256 _from, uint256 _count)\n    internal\n    view\n    returns (CommandList.element[] memory)\n  {\n    return getElement(self, self.canceled, _from, _count);\n  }\n\n  function getByCompleted(\n    commandMap storage self,\n    uint256 _from,\n    uint256 _count\n  ) internal view returns (CommandList.element[] memory) {\n    return getElement(self, self.completed, _from, _count);\n  }\n}\n",
  "sourcePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/list/CommandList.sol",
  "ast": {
    "absolutePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/list/CommandList.sol",
    "exportedSymbols": {
      "CommandList": [
        3760
      ]
    },
    "id": 3761,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2748,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:15"
      },
      {
        "absolutePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/math/SafeMath.sol",
        "file": "../math/SafeMath.sol",
        "id": 2749,
        "nodeType": "ImportDirective",
        "scope": 3761,
        "sourceUnit": 5658,
        "src": "27:30:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": "@dev 通证列表处理",
        "fullyImplemented": true,
        "id": 3760,
        "linearizedBaseContracts": [
          3760
        ],
        "name": "CommandList",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2752,
            "libraryName": {
              "contractScope": null,
              "id": 2750,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5657,
              "src": "156:8:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$5657",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "150:27:15",
            "typeName": {
              "id": 2751,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "169:7:15",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "canonicalName": "CommandList.Verbs",
            "id": 2756,
            "members": [
              {
                "id": 2753,
                "name": "TRANSFER",
                "nodeType": "EnumValue",
                "src": "193:8:15"
              },
              {
                "id": 2754,
                "name": "EXCHANGE",
                "nodeType": "EnumValue",
                "src": "203:8:15"
              },
              {
                "id": 2755,
                "name": "EXECUTE",
                "nodeType": "EnumValue",
                "src": "213:7:15"
              }
            ],
            "name": "Verbs",
            "nodeType": "EnumDefinition",
            "src": "181:40:15"
          },
          {
            "canonicalName": "CommandList.element",
            "id": 2771,
            "members": [
              {
                "constant": false,
                "id": 2758,
                "name": "submitter",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "281:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2757,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "281:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2760,
                "name": "agent",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "321:13:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2759,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "321:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2762,
                "name": "fromChain",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "372:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2761,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "372:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2764,
                "name": "toChain",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "430:15:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2763,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "430:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2766,
                "name": "verbs",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "497:13:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2765,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "497:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2768,
                "name": "status",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "677:14:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2767,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "677:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2770,
                "name": "payloadHash",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "782:19:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2769,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "782:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "element",
            "nodeType": "StructDefinition",
            "scope": 3760,
            "src": "243:563:15",
            "visibility": "public"
          },
          {
            "canonicalName": "CommandList.commandMap",
            "id": 2797,
            "members": [
              {
                "constant": false,
                "id": 2774,
                "name": "list",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "865:14:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                  "typeString": "struct CommandList.element[]"
                },
                "typeName": {
                  "baseType": {
                    "contractScope": null,
                    "id": 2772,
                    "name": "element",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2771,
                    "src": "865:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                      "typeString": "struct CommandList.element"
                    }
                  },
                  "id": 2773,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "865:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                    "typeString": "struct CommandList.element[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2777,
                "name": "waiting",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "910:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2775,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "910:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2776,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "910:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2780,
                "name": "locking",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "968:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2778,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "968:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2779,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "968:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2783,
                "name": "canceled",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1055:18:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2781,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1055:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2782,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "1055:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2786,
                "name": "completed",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1104:19:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2784,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1104:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2785,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "1104:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2791,
                "name": "submitterCmds",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1177:43:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                  "typeString": "mapping(address => uint256[])"
                },
                "typeName": {
                  "id": 2790,
                  "keyType": {
                    "id": 2787,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1185:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1177:29:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                    "typeString": "mapping(address => uint256[])"
                  },
                  "valueType": {
                    "baseType": {
                      "id": 2788,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "1196:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2789,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1196:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2796,
                "name": "agentCmds",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1274:39:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                  "typeString": "mapping(address => uint256[])"
                },
                "typeName": {
                  "id": 2795,
                  "keyType": {
                    "id": 2792,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1282:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1274:29:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                    "typeString": "mapping(address => uint256[])"
                  },
                  "valueType": {
                    "baseType": {
                      "id": 2793,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "1293:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2794,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1293:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "commandMap",
            "nodeType": "StructDefinition",
            "scope": 3760,
            "src": "810:508:15",
            "visibility": "public"
          },
          {
            "body": {
              "id": 2826,
              "nodeType": "Block",
              "src": "1358:184:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 2814,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 2807,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2802,
                              "name": "_verbs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2799,
                              "src": "1379:6:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2804,
                                    "name": "Verbs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2756,
                                    "src": "1397:5:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_Verbs_$2756_$",
                                      "typeString": "type(enum CommandList.Verbs)"
                                    }
                                  },
                                  "id": 2805,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberName": "TRANSFER",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "1397:14:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                ],
                                "id": 2803,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "1389:7:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint256"
                              },
                              "id": 2806,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1389:23:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1379:33:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 2813,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2808,
                              "name": "_verbs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2799,
                              "src": "1424:6:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2810,
                                    "name": "Verbs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2756,
                                    "src": "1442:5:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_Verbs_$2756_$",
                                      "typeString": "type(enum CommandList.Verbs)"
                                    }
                                  },
                                  "id": 2811,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberName": "EXCHANGE",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "1442:14:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                ],
                                "id": 2809,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "1434:7:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint256"
                              },
                              "id": 2812,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1434:23:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1424:33:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "1379:78:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2820,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2815,
                            "name": "_verbs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2799,
                            "src": "1469:6:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2817,
                                  "name": "Verbs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2756,
                                  "src": "1487:5:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_Verbs_$2756_$",
                                    "typeString": "type(enum CommandList.Verbs)"
                                  }
                                },
                                "id": 2818,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberName": "EXECUTE",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "1487:13:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_Verbs_$2756",
                                  "typeString": "enum CommandList.Verbs"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_enum$_Verbs_$2756",
                                  "typeString": "enum CommandList.Verbs"
                                }
                              ],
                              "id": 2816,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1479:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": "uint256"
                            },
                            "id": 2819,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1479:22:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "1469:32:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1379:122:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c6964207665726273",
                        "id": 2822,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1509:15:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d10f2007c30c709fd945813d5aff5976e48b0726c1279fc7bce8a6cb3941915b",
                          "typeString": "literal_string \"invalid verbs\""
                        },
                        "value": "invalid verbs"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d10f2007c30c709fd945813d5aff5976e48b0726c1279fc7bce8a6cb3941915b",
                          "typeString": "literal_string \"invalid verbs\""
                        }
                      ],
                      "id": 2801,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "1364:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2823,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1364:166:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2824,
                  "nodeType": "ExpressionStatement",
                  "src": "1364:166:15"
                },
                {
                  "id": 2825,
                  "nodeType": "PlaceholderStatement",
                  "src": "1536:1:15"
                }
              ]
            },
            "documentation": null,
            "id": 2827,
            "name": "validVerbs",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2799,
                  "name": "_verbs",
                  "nodeType": "VariableDeclaration",
                  "scope": 2827,
                  "src": "1342:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2798,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1342:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1341:16:15"
            },
            "src": "1322:220:15",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2846,
              "nodeType": "Block",
              "src": "1643:70:15",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2840,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2836,
                      "name": "_idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2831,
                      "src": "1653:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2837,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2829,
                          "src": "1661:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 2838,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "list",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2774,
                        "src": "1661:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                          "typeString": "struct CommandList.element storage ref[] storage ref"
                        }
                      },
                      "id": 2839,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1661:16:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1653:24:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 2843,
                  "nodeType": "IfStatement",
                  "src": "1649:42:15",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 2841,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1686:5:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "functionReturnParameters": 2835,
                    "id": 2842,
                    "nodeType": "Return",
                    "src": "1679:12:15"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 2844,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1704:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 2835,
                  "id": 2845,
                  "nodeType": "Return",
                  "src": "1697:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 2847,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "exist",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2829,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 2847,
                  "src": "1561:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2828,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "1561:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2831,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 2847,
                  "src": "1586:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2830,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1586:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1560:39:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2835,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2834,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2847,
                  "src": "1635:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2833,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1635:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1634:6:15"
            },
            "scope": 3760,
            "src": "1546:167:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2914,
              "nodeType": "Block",
              "src": "1971:379:15",
              "statements": [
                {
                  "assignments": [
                    2868
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2868,
                      "name": "e",
                      "nodeType": "VariableDeclaration",
                      "scope": 2915,
                      "src": "1977:16:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                        "typeString": "struct CommandList.element"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 2867,
                        "name": "element",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2771,
                        "src": "1977:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                          "typeString": "struct CommandList.element"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2880,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2870,
                        "name": "_submitter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2851,
                        "src": "2023:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2872,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2056:1:15",
                            "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": 2871,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2048:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 2873,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2048:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2874,
                        "name": "_fromChain",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2853,
                        "src": "2077:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2875,
                        "name": "_toChain",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "2104:8:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2876,
                        "name": "_verbs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2857,
                        "src": "2127:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 2877,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2149:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      {
                        "argumentTypes": null,
                        "id": 2878,
                        "name": "_payloadHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2859,
                        "src": "2171:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": null,
                      "id": 2869,
                      "name": "element",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2771,
                      "src": "1996:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_element_$2771_storage_ptr_$",
                        "typeString": "type(struct CommandList.element storage pointer)"
                      }
                    },
                    "id": 2879,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "names": [
                      "submitter",
                      "agent",
                      "fromChain",
                      "toChain",
                      "verbs",
                      "status",
                      "payloadHash"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "1996:194:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_memory",
                      "typeString": "struct CommandList.element memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1977:213:15"
                },
                {
                  "assignments": [
                    2882
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2882,
                      "name": "_idx",
                      "nodeType": "VariableDeclaration",
                      "scope": 2915,
                      "src": "2197:12:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2881,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2197:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2886,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2883,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2849,
                        "src": "2212:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 2884,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "list",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2774,
                      "src": "2212:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                        "typeString": "struct CommandList.element storage ref[] storage ref"
                      }
                    },
                    "id": 2885,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "2212:16:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2197:31:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2892,
                        "name": "e",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2868,
                        "src": "2249:1:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                          "typeString": "struct CommandList.element memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                          "typeString": "struct CommandList.element memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2887,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2849,
                          "src": "2234:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 2890,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "list",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2774,
                        "src": "2234:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                          "typeString": "struct CommandList.element storage ref[] storage ref"
                        }
                      },
                      "id": 2891,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2234:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_element_$2771_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct CommandList.element storage ref) returns (uint256)"
                      }
                    },
                    "id": 2893,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2234:17:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2894,
                  "nodeType": "ExpressionStatement",
                  "src": "2234:17:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2900,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2882,
                        "src": "2275:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2895,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2849,
                          "src": "2257:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 2898,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "2257:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 2899,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2257:17:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 2901,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2257:23:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2902,
                  "nodeType": "ExpressionStatement",
                  "src": "2257:23:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2909,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2882,
                        "src": "2322:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 2903,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2849,
                            "src": "2286:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 2906,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "submitterCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2791,
                          "src": "2286:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 2907,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2905,
                          "name": "_submitter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2851,
                          "src": "2305:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2286:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 2908,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2286:35:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 2910,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2286:41:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2911,
                  "nodeType": "ExpressionStatement",
                  "src": "2286:41:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2912,
                    "name": "_idx",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2882,
                    "src": "2341:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2866,
                  "id": 2913,
                  "nodeType": "Return",
                  "src": "2334:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 2915,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 2862,
                    "name": "_verbs",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2857,
                    "src": "1945:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 2863,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2861,
                  "name": "validVerbs",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2827,
                  "src": "1934:10:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1934:18:15"
              }
            ],
            "name": "insert",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2860,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2849,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1781:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2848,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "1781:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2851,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1810:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2850,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1810:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2853,
                  "name": "_fromChain",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1834:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2852,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1834:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2855,
                  "name": "_toChain",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1858:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2854,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1858:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2857,
                  "name": "_verbs",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1880:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2856,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1880:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2859,
                  "name": "_payloadHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1900:20:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2858,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1900:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1775:149:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2866,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2865,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1962:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2864,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1962:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1961:9:15"
            },
            "scope": 3760,
            "src": "1760:590:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2976,
              "nodeType": "Block",
              "src": "2452:239:15",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2930,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2927,
                        "name": "_arr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2918,
                        "src": "2462:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 2928,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2462:11:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 2929,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2477:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2462:16:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 2936,
                  "nodeType": "IfStatement",
                  "src": "2458:54:15",
                  "trueBody": {
                    "id": 2935,
                    "nodeType": "Block",
                    "src": "2480:32:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 2931,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2496:5:15",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 2932,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2503:1:15",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "id": 2933,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "2495:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$",
                            "typeString": "tuple(bool,int_const 0)"
                          }
                        },
                        "functionReturnParameters": 2926,
                        "id": 2934,
                        "nodeType": "Return",
                        "src": "2488:17:15"
                      }
                    ]
                  }
                },
                {
                  "body": {
                    "id": 2961,
                    "nodeType": "Block",
                    "src": "2563:70:15",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2954,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2950,
                              "name": "_arr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2918,
                              "src": "2575:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 2952,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2951,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2938,
                              "src": "2580:1:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2575:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 2953,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2920,
                            "src": "2586:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2575:15:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 2960,
                        "nodeType": "IfStatement",
                        "src": "2571:56:15",
                        "trueBody": {
                          "id": 2959,
                          "nodeType": "Block",
                          "src": "2592:35:15",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "74727565",
                                    "id": 2955,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "bool",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2610:4:15",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "value": "true"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 2956,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2938,
                                    "src": "2616:1:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 2957,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "2609:9:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                                  "typeString": "tuple(bool,uint256)"
                                }
                              },
                              "functionReturnParameters": 2926,
                              "id": 2958,
                              "nodeType": "Return",
                              "src": "2602:16:15"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2946,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2944,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2938,
                      "src": "2551:1:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 2945,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2555:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2551:5:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2962,
                  "initializationExpression": {
                    "assignments": [
                      2938
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 2938,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 2977,
                        "src": "2522:9:15",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 2937,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "2522:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 2943,
                    "initialValue": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 2942,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2939,
                          "name": "_arr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2918,
                          "src": "2534:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 2940,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2534:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 2941,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2548:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "2534:15:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2522:27:15"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 2948,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "--",
                      "prefix": false,
                      "src": "2558:3:15",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 2947,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2938,
                        "src": "2558:1:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2949,
                    "nodeType": "ExpressionStatement",
                    "src": "2558:3:15"
                  },
                  "nodeType": "ForStatement",
                  "src": "2517:116:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 2967,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 2963,
                          "name": "_arr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2918,
                          "src": "2646:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 2965,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2964,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2651:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2646:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 2966,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2920,
                        "src": "2657:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2646:15:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 2971,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2677:5:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2972,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2684:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "id": 2973,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "2676:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$",
                        "typeString": "tuple(bool,int_const 0)"
                      }
                    },
                    "id": 2974,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "2646:40:15",
                    "trueExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 2968,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2665:4:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2969,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2671:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "id": 2970,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "2664:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$",
                        "typeString": "tuple(bool,int_const 0)"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_uint8_$",
                      "typeString": "tuple(bool,uint8)"
                    }
                  },
                  "functionReturnParameters": 2926,
                  "id": 2975,
                  "nodeType": "Return",
                  "src": "2639:47:15"
                }
              ]
            },
            "documentation": null,
            "id": 2977,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2918,
                  "name": "_arr",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2370:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2916,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "2370:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2917,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2370:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2920,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2386:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2919,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2386:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2369:30:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2926,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2923,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2435:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2922,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2435:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2925,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2441:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2924,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2441:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2434:15:15"
            },
            "scope": 3760,
            "src": "2354:337:15",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3083,
              "nodeType": "Block",
              "src": "2798:623:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 2990,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "2818:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2991,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2983,
                            "src": "2824:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 2989,
                          "name": "exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2847,
                          "src": "2812:5:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct CommandList.commandMap storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 2992,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2812:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e6420646f6573206e6f74206578697374",
                        "id": 2993,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2831:29:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        },
                        "value": "lock command does not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        }
                      ],
                      "id": 2988,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "2804:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2994,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2804:57:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2995,
                  "nodeType": "ExpressionStatement",
                  "src": "2804:57:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2997,
                      "name": "_waitingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3084,
                      "src": "2896:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2996,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2896:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2998,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2896:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3000,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3084,
                      "src": "2921:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 2999,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "2921:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3001,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2921:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3010,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3002,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3000,
                          "src": "2939:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3003,
                          "name": "_waitingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2997,
                          "src": "2947:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3004,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "2938:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3006,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "2969:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3007,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "waiting",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2777,
                          "src": "2969:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3008,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2983,
                          "src": "2983:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3005,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "2962:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3009,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2962:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "2938:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3011,
                  "nodeType": "ExpressionStatement",
                  "src": "2938:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3013,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3000,
                        "src": "3002:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e2077616974696e67206c697374",
                        "id": 3014,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3010:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        },
                        "value": "idx does not exist in waiting list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        }
                      ],
                      "id": 3012,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "2994:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3015,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2994:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3016,
                  "nodeType": "ExpressionStatement",
                  "src": "2994:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3031,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3017,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3085:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3020,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3085:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3021,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3019,
                        "name": "_waitingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2997,
                        "src": "3098:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3085:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3022,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3113:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3023,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3113:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3030,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3028,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3150:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3024,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2979,
                                "src": "3126:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3025,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "waiting",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2777,
                              "src": "3126:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3026,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3126:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3027,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "3126:23:15",
                          "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": 3029,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3126:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "3113:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3085:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3032,
                  "nodeType": "ExpressionStatement",
                  "src": "3085:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3044,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3033,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3159:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3036,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3159:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3037,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3159:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3042,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3205:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3038,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2979,
                              "src": "3181:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3039,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "waiting",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2777,
                            "src": "3181:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3040,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3181:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3041,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "3181:23:15",
                        "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": 3043,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3181:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3159:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3045,
                  "nodeType": "ExpressionStatement",
                  "src": "3159:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3051,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2983,
                        "src": "3255:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3046,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3237:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3049,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "3237:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3050,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3237:17:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3052,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3237:23:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3053,
                  "nodeType": "ExpressionStatement",
                  "src": "3237:23:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3061,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3054,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "3297:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3057,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "3297:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3058,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3056,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2983,
                          "src": "3307:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3297:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3059,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "agent",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2760,
                      "src": "3297:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3060,
                      "name": "_agent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2981,
                      "src": "3321:6:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3297:30:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 3062,
                  "nodeType": "ExpressionStatement",
                  "src": "3297:30:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3070,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3063,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "3333:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3066,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "3333:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3067,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3065,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2983,
                          "src": "3343:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3333:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3068,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "3333:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "32",
                      "id": 3069,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3358:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_2_by_1",
                        "typeString": "int_const 2"
                      },
                      "value": "2"
                    },
                    "src": "3333:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3071,
                  "nodeType": "ExpressionStatement",
                  "src": "3333:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3078,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2983,
                        "src": "3393:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3072,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "3365:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3075,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agentCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2796,
                          "src": "3365:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 3076,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3074,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2981,
                          "src": "3380:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3365:22:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3077,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3365:27:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3079,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3365:33:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3080,
                  "nodeType": "ExpressionStatement",
                  "src": "3365:33:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3081,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3412:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 2987,
                  "id": 3082,
                  "nodeType": "Return",
                  "src": "3405:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3084,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "lock",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2984,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2979,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2709:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2978,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "2709:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2981,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2734:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2980,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2734:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2983,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2750:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2982,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2750:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2708:55:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2987,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2986,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2790:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2985,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2790:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2789:6:15"
            },
            "scope": 3760,
            "src": "2695:726:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3162,
              "nodeType": "Block",
              "src": "3525:460:15",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3094,
                      "name": "_waitingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3163,
                      "src": "3559:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3093,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3559:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3095,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3559:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3097,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3163,
                      "src": "3584:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 3096,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "3584:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3098,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3584:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3099,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3097,
                          "src": "3602:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3100,
                          "name": "_waitingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3094,
                          "src": "3610:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3101,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3601:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3103,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3086,
                            "src": "3632:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3104,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "waiting",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2777,
                          "src": "3632:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3105,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3088,
                          "src": "3646:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3102,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "3625:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3106,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3625:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "3601:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3108,
                  "nodeType": "ExpressionStatement",
                  "src": "3601:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3110,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3097,
                        "src": "3665:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e2077616974696e67206c697374",
                        "id": 3111,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3673:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        },
                        "value": "idx does not exist in waiting list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        }
                      ],
                      "id": 3109,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "3657:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3657:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3113,
                  "nodeType": "ExpressionStatement",
                  "src": "3657:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3128,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3114,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3750:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3117,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3750:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3118,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3116,
                        "name": "_waitingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3094,
                        "src": "3763:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3750:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3119,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3778:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3120,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3778:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3127,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3125,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3815:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3121,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3086,
                                "src": "3791:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3122,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "waiting",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2777,
                              "src": "3791:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3123,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3791:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3124,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "3791:23:15",
                          "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": 3126,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3791:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "3778:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3750:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3129,
                  "nodeType": "ExpressionStatement",
                  "src": "3750:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3130,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3824:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3133,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3824:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3134,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3824:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3139,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3870:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3135,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3086,
                              "src": "3846:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3136,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "waiting",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2777,
                            "src": "3846:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3137,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3846:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3138,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "3846:23:15",
                        "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": 3140,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3846:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3824:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3142,
                  "nodeType": "ExpressionStatement",
                  "src": "3824:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3148,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3088,
                        "src": "3925:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3143,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3906:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3146,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "canceled",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2783,
                        "src": "3906:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3147,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3906:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3149,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3906:24:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3150,
                  "nodeType": "ExpressionStatement",
                  "src": "3906:24:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3158,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3151,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3086,
                            "src": "3936:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3154,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "3936:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3155,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3153,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3088,
                          "src": "3946:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3936:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3156,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "3936:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "34",
                      "id": 3157,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3961:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_4_by_1",
                        "typeString": "int_const 4"
                      },
                      "value": "4"
                    },
                    "src": "3936:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3159,
                  "nodeType": "ExpressionStatement",
                  "src": "3936:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3976:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 3092,
                  "id": 3161,
                  "nodeType": "Return",
                  "src": "3969:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3163,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "cancelFromWaiting",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3089,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3086,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3163,
                  "src": "3452:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3085,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "3452:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3088,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3163,
                  "src": "3477:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3087,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3477:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3451:39:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3092,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3091,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3163,
                  "src": "3517:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3090,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3517:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3516:6:15"
            },
            "scope": 3760,
            "src": "3425:560:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3306,
              "nodeType": "Block",
              "src": "4094:1025:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3176,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "4114:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3177,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3169,
                            "src": "4120:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3175,
                          "name": "exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2847,
                          "src": "4108:5:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct CommandList.commandMap storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 3178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4108:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e6420646f6573206e6f74206578697374",
                        "id": 3179,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4127:29:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        },
                        "value": "lock command does not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        }
                      ],
                      "id": 3174,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4100:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3180,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4100:57:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3181,
                  "nodeType": "ExpressionStatement",
                  "src": "4100:57:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3197,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3189,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3183,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3165,
                                  "src": "4178:4:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                    "typeString": "struct CommandList.commandMap storage pointer"
                                  }
                                },
                                "id": 3184,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "list",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2774,
                                "src": "4178:9:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                  "typeString": "struct CommandList.element storage ref[] storage ref"
                                }
                              },
                              "id": 3186,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3185,
                                "name": "_idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3169,
                                "src": "4188:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "4178:15:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_element_$2771_storage",
                                "typeString": "struct CommandList.element storage ref"
                              }
                            },
                            "id": 3187,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2768,
                            "src": "4178:22:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "34",
                            "id": 3188,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4204:1:15",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_4_by_1",
                              "typeString": "int_const 4"
                            },
                            "value": "4"
                          },
                          "src": "4178:27:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3196,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3190,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3165,
                                  "src": "4209:4:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                    "typeString": "struct CommandList.commandMap storage pointer"
                                  }
                                },
                                "id": 3191,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "list",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2774,
                                "src": "4209:9:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                  "typeString": "struct CommandList.element storage ref[] storage ref"
                                }
                              },
                              "id": 3193,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3192,
                                "name": "_idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3169,
                                "src": "4219:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "4209:15:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_element_$2771_storage",
                                "typeString": "struct CommandList.element storage ref"
                              }
                            },
                            "id": 3194,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2768,
                            "src": "4209:22:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "35",
                            "id": 3195,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4235:1:15",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_5_by_1",
                              "typeString": "int_const 5"
                            },
                            "value": "5"
                          },
                          "src": "4209:27:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4178:58:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e64207374617475732063616e206e6f742062652063616e63656c6564206f7220646f6e65",
                        "id": 3198,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4244:49:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_365fa5f5d92ae96348066ced42f20135202acd5efc338eac65c5e8100b9e62eb",
                          "typeString": "literal_string \"lock command status can not be canceled or done\""
                        },
                        "value": "lock command status can not be canceled or done"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_365fa5f5d92ae96348066ced42f20135202acd5efc338eac65c5e8100b9e62eb",
                          "typeString": "literal_string \"lock command status can not be canceled or done\""
                        }
                      ],
                      "id": 3182,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4163:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3199,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4163:136:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3200,
                  "nodeType": "ExpressionStatement",
                  "src": "4163:136:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3207,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3201,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "4333:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3202,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "4333:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3204,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3203,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3169,
                          "src": "4343:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4333:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3205,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "4333:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3206,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4359:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "4333:27:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3225,
                  "nodeType": "IfStatement",
                  "src": "4329:234:15",
                  "trueBody": {
                    "id": 3224,
                    "nodeType": "Block",
                    "src": "4362:201:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 3215,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 3209,
                                "name": "_agent",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3167,
                                "src": "4425:6:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 3210,
                                      "name": "self",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3165,
                                      "src": "4435:4:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                        "typeString": "struct CommandList.commandMap storage pointer"
                                      }
                                    },
                                    "id": 3211,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "list",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 2774,
                                    "src": "4435:9:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                      "typeString": "struct CommandList.element storage ref[] storage ref"
                                    }
                                  },
                                  "id": 3213,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 3212,
                                    "name": "_idx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3169,
                                    "src": "4445:4:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4435:15:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_element_$2771_storage",
                                    "typeString": "struct CommandList.element storage ref"
                                  }
                                },
                                "id": 3214,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "submitter",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2758,
                                "src": "4435:25:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "4425:35:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "75736572206f6e6c792063616e63656c2068696d206f776e20636f6d6d616e64",
                              "id": 3216,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4470:34:15",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_cf2cae9839861fcada48b6891f1cabe06564a281bc77dd5e52485577fb99f51d",
                                "typeString": "literal_string \"user only cancel him own command\""
                              },
                              "value": "user only cancel him own command"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_cf2cae9839861fcada48b6891f1cabe06564a281bc77dd5e52485577fb99f51d",
                                "typeString": "literal_string \"user only cancel him own command\""
                              }
                            ],
                            "id": 3208,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9044,
                              9045
                            ],
                            "referencedDeclaration": 9045,
                            "src": "4408:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 3217,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4408:104:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3218,
                        "nodeType": "ExpressionStatement",
                        "src": "4408:104:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3220,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3165,
                              "src": "4545:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 3221,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3169,
                              "src": "4551:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 3219,
                            "name": "cancelFromWaiting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3163,
                            "src": "4527:17:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (struct CommandList.commandMap storage pointer,uint256) returns (bool)"
                            }
                          },
                          "id": 3222,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4527:29:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "functionReturnParameters": 3173,
                        "id": 3223,
                        "nodeType": "Return",
                        "src": "4520:36:15"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3227,
                      "name": "_lockingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3307,
                      "src": "4617:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3226,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "4617:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3228,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4617:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3230,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3307,
                      "src": "4642:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 3229,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "4642:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3231,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4642:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3232,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3230,
                          "src": "4660:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3233,
                          "name": "_lockingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3227,
                          "src": "4668:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3234,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "4659:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3236,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "4690:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3237,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "locking",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2780,
                          "src": "4690:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3238,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3169,
                          "src": "4704:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3235,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "4683:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3239,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4683:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "4659:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3241,
                  "nodeType": "ExpressionStatement",
                  "src": "4659:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3243,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3230,
                        "src": "4723:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e206c6f636b696e67206c697374",
                        "id": 3244,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4731:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        },
                        "value": "idx does not exist in locking list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        }
                      ],
                      "id": 3242,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4715:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4715:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3246,
                  "nodeType": "ExpressionStatement",
                  "src": "4715:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3254,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3248,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3167,
                          "src": "4782:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3249,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3165,
                                "src": "4792:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3250,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "4792:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3252,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3251,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3169,
                              "src": "4802:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4792:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "id": 3253,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agent",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2760,
                          "src": "4792:21:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "4782:31:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6167656e742063616e63656c20636f6d6d616e642068696d73656c66",
                        "id": 3255,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4815:30:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        },
                        "value": "agent cancel command himself"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        }
                      ],
                      "id": 3247,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4774:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3256,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4774:72:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3257,
                  "nodeType": "ExpressionStatement",
                  "src": "4774:72:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3272,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3258,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "4884:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3261,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "4884:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3262,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3260,
                        "name": "_lockingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3227,
                        "src": "4897:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4884:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3263,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "4912:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3264,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "4912:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3271,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3269,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4949:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3265,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3165,
                                "src": "4925:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3266,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "locking",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2780,
                              "src": "4925:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3267,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4925:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3268,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "4925:23:15",
                          "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": 3270,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4925:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4912:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4884:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3273,
                  "nodeType": "ExpressionStatement",
                  "src": "4884:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3285,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3274,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "4958:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3277,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "4958:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3278,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "4958:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3283,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5004:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3279,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3165,
                              "src": "4980:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3280,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "locking",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2780,
                            "src": "4980:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3281,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4980:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3282,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "4980:23:15",
                        "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": 3284,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4980:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4958:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3286,
                  "nodeType": "ExpressionStatement",
                  "src": "4958:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3292,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3169,
                        "src": "5059:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3287,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "5040:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3290,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "canceled",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2783,
                        "src": "5040:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3291,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5040:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3293,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5040:24:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3294,
                  "nodeType": "ExpressionStatement",
                  "src": "5040:24:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3302,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3295,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "5070:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3298,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "5070:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3299,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3297,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3169,
                          "src": "5080:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "5070:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3300,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "5070:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "34",
                      "id": 3301,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5095:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_4_by_1",
                        "typeString": "int_const 4"
                      },
                      "value": "4"
                    },
                    "src": "5070:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3303,
                  "nodeType": "ExpressionStatement",
                  "src": "5070:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3304,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "5110:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 3173,
                  "id": 3305,
                  "nodeType": "Return",
                  "src": "5103:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3307,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "cancel",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3170,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3165,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4005:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3164,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "4005:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3167,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4030:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3166,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4030:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3169,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4046:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3168,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4046:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4004:55:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3172,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4086:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3171,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4086:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4085:6:15"
            },
            "scope": 3760,
            "src": "3989:1130:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3417,
              "nodeType": "Block",
              "src": "5230:740:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3320,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3309,
                            "src": "5250:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3321,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3313,
                            "src": "5256:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3319,
                          "name": "exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2847,
                          "src": "5244:5:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct CommandList.commandMap storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 3322,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5244:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e6420646f6573206e6f74206578697374",
                        "id": 3323,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5263:29:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        },
                        "value": "lock command does not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        }
                      ],
                      "id": 3318,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5236:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3324,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5236:57:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3325,
                  "nodeType": "ExpressionStatement",
                  "src": "5236:57:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3333,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3327,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3309,
                                "src": "5352:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3328,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "5352:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3330,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3329,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3313,
                              "src": "5362:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5352:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "id": 3331,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2768,
                          "src": "5352:22:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 3332,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5378:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "src": "5352:27:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e64207374617475732063616e20626520636f6d706c65746564",
                        "id": 3334,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5387:38:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0a6a93f63cec5d28fd2dd42d24974cba44975407d393d5cb05d4828ee19d73c7",
                          "typeString": "literal_string \"lock command status can be completed\""
                        },
                        "value": "lock command status can be completed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0a6a93f63cec5d28fd2dd42d24974cba44975407d393d5cb05d4828ee19d73c7",
                          "typeString": "literal_string \"lock command status can be completed\""
                        }
                      ],
                      "id": 3326,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5337:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3335,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5337:94:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3336,
                  "nodeType": "ExpressionStatement",
                  "src": "5337:94:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3344,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3338,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3311,
                          "src": "5445:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3339,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3309,
                                "src": "5455:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3340,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "5455:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3342,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3341,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3313,
                              "src": "5465:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5455:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "id": 3343,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agent",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2760,
                          "src": "5455:21:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5445:31:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6167656e742063616e63656c20636f6d6d616e642068696d73656c66",
                        "id": 3345,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5478:30:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        },
                        "value": "agent cancel command himself"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        }
                      ],
                      "id": 3337,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5437:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3346,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5437:72:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3347,
                  "nodeType": "ExpressionStatement",
                  "src": "5437:72:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3349,
                      "name": "_lockingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3418,
                      "src": "5544:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3348,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "5544:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3350,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5544:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3352,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3418,
                      "src": "5569:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 3351,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "5569:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3353,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5569:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3362,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3354,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3352,
                          "src": "5587:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3355,
                          "name": "_lockingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3349,
                          "src": "5595:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3356,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "5586:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3358,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3309,
                            "src": "5617:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3359,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "locking",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2780,
                          "src": "5617:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3360,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3313,
                          "src": "5631:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3357,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "5610:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3361,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5610:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "5586:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3363,
                  "nodeType": "ExpressionStatement",
                  "src": "5586:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3365,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "5650:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e206c6f636b696e67206c697374",
                        "id": 3366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5658:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        },
                        "value": "idx does not exist in locking list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        }
                      ],
                      "id": 3364,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5642:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5642:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3368,
                  "nodeType": "ExpressionStatement",
                  "src": "5642:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3383,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3369,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5733:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3372,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "5733:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3373,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3371,
                        "name": "_lockingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3349,
                        "src": "5746:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5733:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3374,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5761:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3375,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "5761:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3382,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3380,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5798:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3376,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3309,
                                "src": "5774:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3377,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "locking",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2780,
                              "src": "5774:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3378,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5774:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "5774:23:15",
                          "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": 3381,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5774:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5761:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5733:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3384,
                  "nodeType": "ExpressionStatement",
                  "src": "5733:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3396,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3385,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5807:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3388,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "5807:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3389,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5807:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3394,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5853:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3390,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3309,
                              "src": "5829:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3391,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "locking",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2780,
                            "src": "5829:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3392,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5829:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3393,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "5829:23:15",
                        "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": 3395,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5829:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5807:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3397,
                  "nodeType": "ExpressionStatement",
                  "src": "5807:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3403,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3313,
                        "src": "5910:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3398,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5890:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3401,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "completed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2786,
                        "src": "5890:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3402,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5890:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3404,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5890:25:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3405,
                  "nodeType": "ExpressionStatement",
                  "src": "5890:25:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3413,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3406,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3309,
                            "src": "5921:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3409,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "5921:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3410,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3408,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3313,
                          "src": "5931:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "5921:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3411,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "5921:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "35",
                      "id": 3412,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5946:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_5_by_1",
                        "typeString": "int_const 5"
                      },
                      "value": "5"
                    },
                    "src": "5921:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3414,
                  "nodeType": "ExpressionStatement",
                  "src": "5921:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3415,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "5961:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 3317,
                  "id": 3416,
                  "nodeType": "Return",
                  "src": "5954:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3418,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "complete",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3314,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3309,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5141:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3308,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "5141:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3311,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5166:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3310,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5166:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3313,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5182:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3312,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5182:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5140:55:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3317,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3316,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5222:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3315,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5222:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5221:6:15"
            },
            "scope": 3760,
            "src": "5123:847:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3429,
              "nodeType": "Block",
              "src": "6046:34:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3425,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3420,
                        "src": "6059:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3426,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "list",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2774,
                      "src": "6059:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                        "typeString": "struct CommandList.element storage ref[] storage ref"
                      }
                    },
                    "id": 3427,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6059:16:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3424,
                  "id": 3428,
                  "nodeType": "Return",
                  "src": "6052:23:15"
                }
              ]
            },
            "documentation": null,
            "id": 3430,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "count",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3421,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3420,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3430,
                  "src": "5989:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3419,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "5989:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5988:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3424,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3423,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3430,
                  "src": "6037:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3422,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6037:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6036:9:15"
            },
            "scope": 3760,
            "src": "5974:106:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3441,
              "nodeType": "Block",
              "src": "6177:37:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3437,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3432,
                        "src": "6190:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3438,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "waiting",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2777,
                      "src": "6190:12:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3439,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6190:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3436,
                  "id": 3440,
                  "nodeType": "Return",
                  "src": "6183:26:15"
                }
              ]
            },
            "documentation": null,
            "id": 3442,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countWaiting",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3433,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3432,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3442,
                  "src": "6106:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3431,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6106:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6105:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3436,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3435,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3442,
                  "src": "6166:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3434,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6166:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6165:9:15"
            },
            "scope": 3760,
            "src": "6084:130:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3453,
              "nodeType": "Block",
              "src": "6311:37:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3449,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3444,
                        "src": "6324:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3450,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "locking",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2780,
                      "src": "6324:12:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3451,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6324:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3448,
                  "id": 3452,
                  "nodeType": "Return",
                  "src": "6317:26:15"
                }
              ]
            },
            "documentation": null,
            "id": 3454,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countLocking",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3445,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3444,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3454,
                  "src": "6240:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3443,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6240:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6239:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3448,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3447,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3454,
                  "src": "6300:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3446,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6300:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6299:9:15"
            },
            "scope": 3760,
            "src": "6218:130:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3465,
              "nodeType": "Block",
              "src": "6446:38:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3461,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3456,
                        "src": "6459:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3462,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "canceled",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2783,
                      "src": "6459:13:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3463,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6459:20:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3460,
                  "id": 3464,
                  "nodeType": "Return",
                  "src": "6452:27:15"
                }
              ]
            },
            "documentation": null,
            "id": 3466,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countCanceled",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3457,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3456,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3466,
                  "src": "6375:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3455,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6375:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6374:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3460,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3459,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3466,
                  "src": "6435:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3458,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6435:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6434:9:15"
            },
            "scope": 3760,
            "src": "6352:132:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3477,
              "nodeType": "Block",
              "src": "6583:39:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3473,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3468,
                        "src": "6596:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3474,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "completed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2786,
                      "src": "6596:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3475,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6596:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3472,
                  "id": 3476,
                  "nodeType": "Return",
                  "src": "6589:28:15"
                }
              ]
            },
            "documentation": null,
            "id": 3478,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countCompleted",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3469,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3468,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3478,
                  "src": "6512:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3467,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6512:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6511:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3472,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3471,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3478,
                  "src": "6572:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3470,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6572:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6571:9:15"
            },
            "scope": 3760,
            "src": "6488:134:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3493,
              "nodeType": "Block",
              "src": "6743:55:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3487,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3480,
                          "src": "6756:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3488,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "submitterCmds",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2791,
                        "src": "6756:18:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                          "typeString": "mapping(address => uint256[] storage ref)"
                        }
                      },
                      "id": 3490,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3489,
                        "name": "_submitter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3482,
                        "src": "6775:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6756:30:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3491,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6756:37:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3486,
                  "id": 3492,
                  "nodeType": "Return",
                  "src": "6749:44:15"
                }
              ]
            },
            "documentation": null,
            "id": 3494,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countBySubmitter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3483,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3480,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3494,
                  "src": "6652:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3479,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6652:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3482,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 3494,
                  "src": "6677:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3481,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6677:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6651:45:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3486,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3485,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3494,
                  "src": "6732:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3484,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6732:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6731:9:15"
            },
            "scope": 3760,
            "src": "6626:172:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3509,
              "nodeType": "Block",
              "src": "6911:47:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3503,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3496,
                          "src": "6924:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3504,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "agentCmds",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2796,
                        "src": "6924:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                          "typeString": "mapping(address => uint256[] storage ref)"
                        }
                      },
                      "id": 3506,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3505,
                        "name": "_agent",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3498,
                        "src": "6939:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6924:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3507,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6924:29:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3502,
                  "id": 3508,
                  "nodeType": "Return",
                  "src": "6917:36:15"
                }
              ]
            },
            "documentation": null,
            "id": 3510,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countByAgent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3499,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3496,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3510,
                  "src": "6824:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3495,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6824:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3498,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3510,
                  "src": "6849:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3497,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6849:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6823:41:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3502,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3501,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3510,
                  "src": "6900:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3500,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6900:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6899:9:15"
            },
            "scope": 3760,
            "src": "6802:156:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3533,
              "nodeType": "Block",
              "src": "7077:110:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3524,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3520,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3514,
                          "src": "7091:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3521,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3512,
                              "src": "7098:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3522,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "list",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2774,
                            "src": "7098:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                              "typeString": "struct CommandList.element storage ref[] storage ref"
                            }
                          },
                          "id": 3523,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7098:16:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7091:23:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e646578206d75737420736d616c6c207468616e2063757272656e7420636f756e74",
                        "id": 3525,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7116:37:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ced05a9863658d26be4f7cbaeffebfa53821dabbe1077d21241580b1e9ea74c5",
                          "typeString": "literal_string \"index must small than current count\""
                        },
                        "value": "index must small than current count"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ced05a9863658d26be4f7cbaeffebfa53821dabbe1077d21241580b1e9ea74c5",
                          "typeString": "literal_string \"index must small than current count\""
                        }
                      ],
                      "id": 3519,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "7083:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3526,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7083:71:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3527,
                  "nodeType": "ExpressionStatement",
                  "src": "7083:71:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3528,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3512,
                        "src": "7167:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3529,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "list",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2774,
                      "src": "7167:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                        "typeString": "struct CommandList.element storage ref[] storage ref"
                      }
                    },
                    "id": 3531,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3530,
                      "name": "_idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3514,
                      "src": "7177:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7167:15:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_storage",
                      "typeString": "struct CommandList.element storage ref"
                    }
                  },
                  "functionReturnParameters": 3518,
                  "id": 3532,
                  "nodeType": "Return",
                  "src": "7160:22:15"
                }
              ]
            },
            "documentation": null,
            "id": 3534,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3515,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3512,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3534,
                  "src": "6980:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3511,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6980:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3514,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3534,
                  "src": "7005:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3513,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7005:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6979:39:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3518,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3517,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3534,
                  "src": "7054:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                    "typeString": "struct CommandList.element"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3516,
                    "name": "CommandList.element",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2771,
                    "src": "7054:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                      "typeString": "struct CommandList.element"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7053:21:15"
            },
            "scope": 3760,
            "src": "6962:225:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3549,
              "nodeType": "Block",
              "src": "7311:48:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3544,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3536,
                        "src": "7324:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3545,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "submitterCmds",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2791,
                      "src": "7324:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                        "typeString": "mapping(address => uint256[] storage ref)"
                      }
                    },
                    "id": 3547,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3546,
                      "name": "_submitter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3538,
                      "src": "7343:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7324:30:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3543,
                  "id": 3548,
                  "nodeType": "Return",
                  "src": "7317:37:15"
                }
              ]
            },
            "documentation": null,
            "id": 3550,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getIdxBySubmitter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3539,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3536,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3550,
                  "src": "7218:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3535,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7218:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3538,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 3550,
                  "src": "7243:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3537,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7243:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7217:45:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3542,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3550,
                  "src": "7298:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3540,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7298:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3541,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7298:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7297:11:15"
            },
            "scope": 3760,
            "src": "7191:168:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3565,
              "nodeType": "Block",
              "src": "7475:40:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3560,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3552,
                        "src": "7488:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3561,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "agentCmds",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2796,
                      "src": "7488:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                        "typeString": "mapping(address => uint256[] storage ref)"
                      }
                    },
                    "id": 3563,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3562,
                      "name": "_agent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3554,
                      "src": "7503:6:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7488:22:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3559,
                  "id": 3564,
                  "nodeType": "Return",
                  "src": "7481:29:15"
                }
              ]
            },
            "documentation": null,
            "id": 3566,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getIdxByAgent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3555,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3552,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3566,
                  "src": "7386:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3551,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7386:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3554,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3566,
                  "src": "7411:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3553,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7411:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7385:41:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3559,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3558,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3566,
                  "src": "7462:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3556,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7462:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3557,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7462:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7461:11:15"
            },
            "scope": 3760,
            "src": "7363:152:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3577,
              "nodeType": "Block",
              "src": "7615:30:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3574,
                      "name": "self",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3568,
                      "src": "7628:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                        "typeString": "struct CommandList.commandMap storage pointer"
                      }
                    },
                    "id": 3575,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "waiting",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2777,
                    "src": "7628:12:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3573,
                  "id": 3576,
                  "nodeType": "Return",
                  "src": "7621:19:15"
                }
              ]
            },
            "documentation": null,
            "id": 3578,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getWaitingIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3569,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3568,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3578,
                  "src": "7542:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3567,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7542:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7541:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3572,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3578,
                  "src": "7602:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3570,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7602:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3571,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7602:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7601:11:15"
            },
            "scope": 3760,
            "src": "7519:126:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3589,
              "nodeType": "Block",
              "src": "7745:30:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3586,
                      "name": "self",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3580,
                      "src": "7758:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                        "typeString": "struct CommandList.commandMap storage pointer"
                      }
                    },
                    "id": 3587,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "locking",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2780,
                    "src": "7758:12:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3585,
                  "id": 3588,
                  "nodeType": "Return",
                  "src": "7751:19:15"
                }
              ]
            },
            "documentation": null,
            "id": 3590,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getLockingIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3581,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3580,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3590,
                  "src": "7672:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3579,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7672:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7671:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3584,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3590,
                  "src": "7732:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3582,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7732:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3583,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7732:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7731:11:15"
            },
            "scope": 3760,
            "src": "7649:126:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3666,
              "nodeType": "Block",
              "src": "7944:354:15",
              "statements": [
                {
                  "assignments": [
                    3606
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3606,
                      "name": "_idx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3667,
                      "src": "7950:12:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3605,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "7950:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3608,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 3607,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "7965:1:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7950:16:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3612,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3610,
                          "name": "_count",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3599,
                          "src": "7980:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 3611,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7989:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "7980:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "72657475726e206e756d626572206d75737420626967676572207468616e2030",
                        "id": 3613,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7992:34:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_77e7c3b7b2e897d6d61c9adadd03e672f46f1501428d9e7f585ea1fd64517a2b",
                          "typeString": "literal_string \"return number must bigger than 0\""
                        },
                        "value": "return number must bigger than 0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_77e7c3b7b2e897d6d61c9adadd03e672f46f1501428d9e7f585ea1fd64517a2b",
                          "typeString": "literal_string \"return number must bigger than 0\""
                        }
                      ],
                      "id": 3609,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "7972:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3614,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7972:55:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3615,
                  "nodeType": "ExpressionStatement",
                  "src": "7972:55:15"
                },
                {
                  "assignments": [
                    3620
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3620,
                      "name": "res",
                      "nodeType": "VariableDeclaration",
                      "scope": 3667,
                      "src": "8033:32:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                        "typeString": "struct CommandList.element[]"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 3618,
                          "name": "CommandList.element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 2771,
                          "src": "8033:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                            "typeString": "struct CommandList.element"
                          }
                        },
                        "id": 3619,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "8033:21:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                          "typeString": "struct CommandList.element[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3626,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3624,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3599,
                        "src": "8094:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3623,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "8068:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (struct CommandList.element memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 3621,
                          "name": "CommandList.element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 2771,
                          "src": "8072:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                            "typeString": "struct CommandList.element"
                          }
                        },
                        "id": 3622,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "8072:21:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                          "typeString": "struct CommandList.element[]"
                        }
                      }
                    },
                    "id": 3625,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8068:33:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8033:68:15"
                },
                {
                  "body": {
                    "id": 3662,
                    "nodeType": "Block",
                    "src": "8154:123:15",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3640,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 3638,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3606,
                            "src": "8166:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 3639,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3599,
                            "src": "8174:6:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "8166:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 3643,
                        "nodeType": "IfStatement",
                        "src": "8162:44:15",
                        "trueBody": {
                          "id": 3642,
                          "nodeType": "Block",
                          "src": "8182:24:15",
                          "statements": [
                            {
                              "id": 3641,
                              "nodeType": "Break",
                              "src": "8192:5:15"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3653,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3644,
                              "name": "res",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3620,
                              "src": "8214:3:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                                "typeString": "struct CommandList.element memory[] memory"
                              }
                            },
                            "id": 3646,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3645,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3606,
                              "src": "8218:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "8214:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_memory",
                              "typeString": "struct CommandList.element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3647,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3592,
                                "src": "8226:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3648,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "8226:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3652,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3649,
                                "name": "_arr",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3595,
                                "src": "8236:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 3651,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3650,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3628,
                                "src": "8241:1:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8236:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "8226:18:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "src": "8214:30:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_element_$2771_memory",
                            "typeString": "struct CommandList.element memory"
                          }
                        },
                        "id": 3654,
                        "nodeType": "ExpressionStatement",
                        "src": "8214:30:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3660,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 3655,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3606,
                            "src": "8252:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 3658,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8268:1:15",
                                "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": 3656,
                                "name": "_idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3606,
                                "src": "8259:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 3657,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5635,
                              "src": "8259:8:15",
                              "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": 3659,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8259:11:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "8252:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3661,
                        "nodeType": "ExpressionStatement",
                        "src": "8252:18:15"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3631,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3628,
                      "src": "8132:1:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3632,
                        "name": "_arr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3595,
                        "src": "8136:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 3633,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "8136:11:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8132:15:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3663,
                  "initializationExpression": {
                    "assignments": [
                      3628
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 3628,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 3667,
                        "src": "8113:9:15",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 3627,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "8113:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 3630,
                    "initialValue": {
                      "argumentTypes": null,
                      "id": 3629,
                      "name": "_from",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3597,
                      "src": "8125:5:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "8113:17:15"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 3636,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "8149:3:15",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 3635,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3628,
                        "src": "8149:1:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3637,
                    "nodeType": "ExpressionStatement",
                    "src": "8149:3:15"
                  },
                  "nodeType": "ForStatement",
                  "src": "8108:169:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3664,
                    "name": "res",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3620,
                    "src": "8290:3:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3604,
                  "id": 3665,
                  "nodeType": "Return",
                  "src": "8283:10:15"
                }
              ]
            },
            "documentation": null,
            "id": 3667,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getElement",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3600,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3592,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7804:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3591,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7804:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3595,
                  "name": "_arr",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7833:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3593,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7833:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3594,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7833:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3597,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7853:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3596,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7853:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3599,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7872:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3598,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7872:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7798:92:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3604,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3603,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7914:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3601,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "7914:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3602,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7914:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7913:30:15"
            },
            "scope": 3760,
            "src": "7779:519:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3691,
              "nodeType": "Block",
              "src": "8475:81:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3682,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3669,
                        "src": "8499:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3683,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3669,
                            "src": "8505:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3684,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "submitterCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2791,
                          "src": "8505:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 3686,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3685,
                          "name": "_submitter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3671,
                          "src": "8524:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8505:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3687,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3673,
                        "src": "8537:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3688,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3675,
                        "src": "8544:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3681,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "8488:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3689,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8488:63:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3680,
                  "id": 3690,
                  "nodeType": "Return",
                  "src": "8481:70:15"
                }
              ]
            },
            "documentation": null,
            "id": 3692,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBySubmitter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3676,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3669,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8331:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3668,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "8331:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3671,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8360:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3670,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8360:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3673,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8384:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3672,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8384:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3675,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8403:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3674,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8403:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8325:96:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3680,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3679,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8445:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3677,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "8445:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3678,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8445:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8444:30:15"
            },
            "scope": 3760,
            "src": "8302:254:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3716,
              "nodeType": "Block",
              "src": "8725:73:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3707,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3694,
                        "src": "8749:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3708,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3694,
                            "src": "8755:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3709,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agentCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2796,
                          "src": "8755:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 3711,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3710,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3696,
                          "src": "8770:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8755:22:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3712,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3698,
                        "src": "8779:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3713,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3700,
                        "src": "8786:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3706,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "8738:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3714,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8738:55:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3705,
                  "id": 3715,
                  "nodeType": "Return",
                  "src": "8731:62:15"
                }
              ]
            },
            "documentation": null,
            "id": 3717,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByAgent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3701,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3694,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8585:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3693,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "8585:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3696,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8614:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3695,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8614:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3698,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8634:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3697,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8634:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3700,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8653:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3699,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8653:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8579:92:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3705,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3704,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8695:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3702,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "8695:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3703,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8695:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8694:30:15"
            },
            "scope": 3760,
            "src": "8560:238:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3737,
              "nodeType": "Block",
              "src": "8948:64:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3730,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3719,
                        "src": "8972:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3731,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "8978:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3732,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "canceled",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2783,
                        "src": "8978:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3733,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3721,
                        "src": "8993:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3734,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3723,
                        "src": "9000:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3729,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "8961:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3735,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8961:46:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3728,
                  "id": 3736,
                  "nodeType": "Return",
                  "src": "8954:53:15"
                }
              ]
            },
            "documentation": null,
            "id": 3738,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByCanceled",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3724,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3719,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8825:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3718,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "8825:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3721,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8850:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3720,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8850:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3723,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8865:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3722,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8865:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8824:56:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3727,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8916:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3725,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "8916:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3726,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8916:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8915:30:15"
            },
            "scope": 3760,
            "src": "8802:210:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3758,
              "nodeType": "Block",
              "src": "9165:65:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3751,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3740,
                        "src": "9189:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3752,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3740,
                          "src": "9195:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3753,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "completed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2786,
                        "src": "9195:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3754,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3742,
                        "src": "9211:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3755,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3744,
                        "src": "9218:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3750,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "9178:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3756,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9178:47:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3749,
                  "id": 3757,
                  "nodeType": "Return",
                  "src": "9171:54:15"
                }
              ]
            },
            "documentation": null,
            "id": 3759,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByCompleted",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3745,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3740,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9045:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3739,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "9045:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3742,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9074:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3741,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9074:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3744,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9093:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3743,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9093:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9039:72:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3749,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3748,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9135:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3746,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "9135:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3747,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "9135:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9134:30:15"
            },
            "scope": 3760,
            "src": "9016:214:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 3761,
        "src": "126:9106:15"
      }
    ],
    "src": "0:9233:15"
  },
  "legacyAST": {
    "absolutePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/list/CommandList.sol",
    "exportedSymbols": {
      "CommandList": [
        3760
      ]
    },
    "id": 3761,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2748,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:25:15"
      },
      {
        "absolutePath": "/Users/chtian/Documents/01_work/01_develope/jcc/jcc-solidity-utils/contracts/math/SafeMath.sol",
        "file": "../math/SafeMath.sol",
        "id": 2749,
        "nodeType": "ImportDirective",
        "scope": 3761,
        "sourceUnit": 5658,
        "src": "27:30:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": "@dev 通证列表处理",
        "fullyImplemented": true,
        "id": 3760,
        "linearizedBaseContracts": [
          3760
        ],
        "name": "CommandList",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2752,
            "libraryName": {
              "contractScope": null,
              "id": 2750,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5657,
              "src": "156:8:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$5657",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "150:27:15",
            "typeName": {
              "id": 2751,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "169:7:15",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "canonicalName": "CommandList.Verbs",
            "id": 2756,
            "members": [
              {
                "id": 2753,
                "name": "TRANSFER",
                "nodeType": "EnumValue",
                "src": "193:8:15"
              },
              {
                "id": 2754,
                "name": "EXCHANGE",
                "nodeType": "EnumValue",
                "src": "203:8:15"
              },
              {
                "id": 2755,
                "name": "EXECUTE",
                "nodeType": "EnumValue",
                "src": "213:7:15"
              }
            ],
            "name": "Verbs",
            "nodeType": "EnumDefinition",
            "src": "181:40:15"
          },
          {
            "canonicalName": "CommandList.element",
            "id": 2771,
            "members": [
              {
                "constant": false,
                "id": 2758,
                "name": "submitter",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "281:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2757,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "281:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2760,
                "name": "agent",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "321:13:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2759,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "321:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2762,
                "name": "fromChain",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "372:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2761,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "372:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2764,
                "name": "toChain",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "430:15:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2763,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "430:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2766,
                "name": "verbs",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "497:13:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2765,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "497:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2768,
                "name": "status",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "677:14:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2767,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "677:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2770,
                "name": "payloadHash",
                "nodeType": "VariableDeclaration",
                "scope": 2771,
                "src": "782:19:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 2769,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "782:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "element",
            "nodeType": "StructDefinition",
            "scope": 3760,
            "src": "243:563:15",
            "visibility": "public"
          },
          {
            "canonicalName": "CommandList.commandMap",
            "id": 2797,
            "members": [
              {
                "constant": false,
                "id": 2774,
                "name": "list",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "865:14:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                  "typeString": "struct CommandList.element[]"
                },
                "typeName": {
                  "baseType": {
                    "contractScope": null,
                    "id": 2772,
                    "name": "element",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2771,
                    "src": "865:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                      "typeString": "struct CommandList.element"
                    }
                  },
                  "id": 2773,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "865:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                    "typeString": "struct CommandList.element[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2777,
                "name": "waiting",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "910:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2775,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "910:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2776,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "910:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2780,
                "name": "locking",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "968:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2778,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "968:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2779,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "968:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2783,
                "name": "canceled",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1055:18:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2781,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1055:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2782,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "1055:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2786,
                "name": "completed",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1104:19:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 2784,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1104:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2785,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "1104:9:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2791,
                "name": "submitterCmds",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1177:43:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                  "typeString": "mapping(address => uint256[])"
                },
                "typeName": {
                  "id": 2790,
                  "keyType": {
                    "id": 2787,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1185:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1177:29:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                    "typeString": "mapping(address => uint256[])"
                  },
                  "valueType": {
                    "baseType": {
                      "id": 2788,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "1196:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2789,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1196:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2796,
                "name": "agentCmds",
                "nodeType": "VariableDeclaration",
                "scope": 2797,
                "src": "1274:39:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                  "typeString": "mapping(address => uint256[])"
                },
                "typeName": {
                  "id": 2795,
                  "keyType": {
                    "id": 2792,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1282:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1274:29:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                    "typeString": "mapping(address => uint256[])"
                  },
                  "valueType": {
                    "baseType": {
                      "id": 2793,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "1293:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2794,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1293:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "commandMap",
            "nodeType": "StructDefinition",
            "scope": 3760,
            "src": "810:508:15",
            "visibility": "public"
          },
          {
            "body": {
              "id": 2826,
              "nodeType": "Block",
              "src": "1358:184:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 2814,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 2807,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2802,
                              "name": "_verbs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2799,
                              "src": "1379:6:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2804,
                                    "name": "Verbs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2756,
                                    "src": "1397:5:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_Verbs_$2756_$",
                                      "typeString": "type(enum CommandList.Verbs)"
                                    }
                                  },
                                  "id": 2805,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberName": "TRANSFER",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "1397:14:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                ],
                                "id": 2803,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "1389:7:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint256"
                              },
                              "id": 2806,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1389:23:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1379:33:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 2813,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2808,
                              "name": "_verbs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2799,
                              "src": "1424:6:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2810,
                                    "name": "Verbs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2756,
                                    "src": "1442:5:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_Verbs_$2756_$",
                                      "typeString": "type(enum CommandList.Verbs)"
                                    }
                                  },
                                  "id": 2811,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberName": "EXCHANGE",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "1442:14:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_Verbs_$2756",
                                    "typeString": "enum CommandList.Verbs"
                                  }
                                ],
                                "id": 2809,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "1434:7:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint256"
                              },
                              "id": 2812,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1434:23:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "1424:33:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "1379:78:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2820,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2815,
                            "name": "_verbs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2799,
                            "src": "1469:6:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2817,
                                  "name": "Verbs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2756,
                                  "src": "1487:5:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_Verbs_$2756_$",
                                    "typeString": "type(enum CommandList.Verbs)"
                                  }
                                },
                                "id": 2818,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberName": "EXECUTE",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "1487:13:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_Verbs_$2756",
                                  "typeString": "enum CommandList.Verbs"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_enum$_Verbs_$2756",
                                  "typeString": "enum CommandList.Verbs"
                                }
                              ],
                              "id": 2816,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1479:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": "uint256"
                            },
                            "id": 2819,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1479:22:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "1469:32:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1379:122:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e76616c6964207665726273",
                        "id": 2822,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1509:15:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d10f2007c30c709fd945813d5aff5976e48b0726c1279fc7bce8a6cb3941915b",
                          "typeString": "literal_string \"invalid verbs\""
                        },
                        "value": "invalid verbs"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d10f2007c30c709fd945813d5aff5976e48b0726c1279fc7bce8a6cb3941915b",
                          "typeString": "literal_string \"invalid verbs\""
                        }
                      ],
                      "id": 2801,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "1364:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2823,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1364:166:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2824,
                  "nodeType": "ExpressionStatement",
                  "src": "1364:166:15"
                },
                {
                  "id": 2825,
                  "nodeType": "PlaceholderStatement",
                  "src": "1536:1:15"
                }
              ]
            },
            "documentation": null,
            "id": 2827,
            "name": "validVerbs",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2799,
                  "name": "_verbs",
                  "nodeType": "VariableDeclaration",
                  "scope": 2827,
                  "src": "1342:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2798,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1342:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1341:16:15"
            },
            "src": "1322:220:15",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2846,
              "nodeType": "Block",
              "src": "1643:70:15",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2840,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2836,
                      "name": "_idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2831,
                      "src": "1653:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2837,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2829,
                          "src": "1661:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 2838,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "list",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2774,
                        "src": "1661:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                          "typeString": "struct CommandList.element storage ref[] storage ref"
                        }
                      },
                      "id": 2839,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1661:16:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1653:24:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 2843,
                  "nodeType": "IfStatement",
                  "src": "1649:42:15",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 2841,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1686:5:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "functionReturnParameters": 2835,
                    "id": 2842,
                    "nodeType": "Return",
                    "src": "1679:12:15"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 2844,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1704:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 2835,
                  "id": 2845,
                  "nodeType": "Return",
                  "src": "1697:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 2847,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "exist",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2829,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 2847,
                  "src": "1561:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2828,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "1561:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2831,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 2847,
                  "src": "1586:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2830,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1586:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1560:39:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2835,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2834,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2847,
                  "src": "1635:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2833,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1635:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1634:6:15"
            },
            "scope": 3760,
            "src": "1546:167:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2914,
              "nodeType": "Block",
              "src": "1971:379:15",
              "statements": [
                {
                  "assignments": [
                    2868
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2868,
                      "name": "e",
                      "nodeType": "VariableDeclaration",
                      "scope": 2915,
                      "src": "1977:16:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                        "typeString": "struct CommandList.element"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 2867,
                        "name": "element",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2771,
                        "src": "1977:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                          "typeString": "struct CommandList.element"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2880,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2870,
                        "name": "_submitter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2851,
                        "src": "2023:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2872,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2056:1:15",
                            "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": 2871,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2048:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 2873,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2048:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2874,
                        "name": "_fromChain",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2853,
                        "src": "2077:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2875,
                        "name": "_toChain",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "2104:8:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2876,
                        "name": "_verbs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2857,
                        "src": "2127:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 2877,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2149:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      {
                        "argumentTypes": null,
                        "id": 2878,
                        "name": "_payloadHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2859,
                        "src": "2171:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": null,
                      "id": 2869,
                      "name": "element",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2771,
                      "src": "1996:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_element_$2771_storage_ptr_$",
                        "typeString": "type(struct CommandList.element storage pointer)"
                      }
                    },
                    "id": 2879,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "names": [
                      "submitter",
                      "agent",
                      "fromChain",
                      "toChain",
                      "verbs",
                      "status",
                      "payloadHash"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "1996:194:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_memory",
                      "typeString": "struct CommandList.element memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1977:213:15"
                },
                {
                  "assignments": [
                    2882
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2882,
                      "name": "_idx",
                      "nodeType": "VariableDeclaration",
                      "scope": 2915,
                      "src": "2197:12:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2881,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2197:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2886,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2883,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2849,
                        "src": "2212:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 2884,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "list",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2774,
                      "src": "2212:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                        "typeString": "struct CommandList.element storage ref[] storage ref"
                      }
                    },
                    "id": 2885,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "2212:16:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2197:31:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2892,
                        "name": "e",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2868,
                        "src": "2249:1:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                          "typeString": "struct CommandList.element memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                          "typeString": "struct CommandList.element memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2887,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2849,
                          "src": "2234:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 2890,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "list",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2774,
                        "src": "2234:9:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                          "typeString": "struct CommandList.element storage ref[] storage ref"
                        }
                      },
                      "id": 2891,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2234:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_element_$2771_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct CommandList.element storage ref) returns (uint256)"
                      }
                    },
                    "id": 2893,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2234:17:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2894,
                  "nodeType": "ExpressionStatement",
                  "src": "2234:17:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2900,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2882,
                        "src": "2275:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2895,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2849,
                          "src": "2257:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 2898,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "2257:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 2899,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2257:17:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 2901,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2257:23:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2902,
                  "nodeType": "ExpressionStatement",
                  "src": "2257:23:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2909,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2882,
                        "src": "2322:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 2903,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2849,
                            "src": "2286:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 2906,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "submitterCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2791,
                          "src": "2286:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 2907,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2905,
                          "name": "_submitter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2851,
                          "src": "2305:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2286:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 2908,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2286:35:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 2910,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2286:41:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 2911,
                  "nodeType": "ExpressionStatement",
                  "src": "2286:41:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2912,
                    "name": "_idx",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2882,
                    "src": "2341:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 2866,
                  "id": 2913,
                  "nodeType": "Return",
                  "src": "2334:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 2915,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 2862,
                    "name": "_verbs",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2857,
                    "src": "1945:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 2863,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2861,
                  "name": "validVerbs",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2827,
                  "src": "1934:10:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1934:18:15"
              }
            ],
            "name": "insert",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2860,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2849,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1781:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2848,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "1781:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2851,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1810:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2850,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1810:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2853,
                  "name": "_fromChain",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1834:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2852,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1834:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2855,
                  "name": "_toChain",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1858:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2854,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1858:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2857,
                  "name": "_verbs",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1880:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2856,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1880:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2859,
                  "name": "_payloadHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1900:20:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2858,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1900:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1775:149:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2866,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2865,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2915,
                  "src": "1962:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2864,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1962:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1961:9:15"
            },
            "scope": 3760,
            "src": "1760:590:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2976,
              "nodeType": "Block",
              "src": "2452:239:15",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2930,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 2927,
                        "name": "_arr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2918,
                        "src": "2462:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 2928,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2462:11:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 2929,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2477:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2462:16:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 2936,
                  "nodeType": "IfStatement",
                  "src": "2458:54:15",
                  "trueBody": {
                    "id": 2935,
                    "nodeType": "Block",
                    "src": "2480:32:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 2931,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2496:5:15",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 2932,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2503:1:15",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "id": 2933,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "2495:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$",
                            "typeString": "tuple(bool,int_const 0)"
                          }
                        },
                        "functionReturnParameters": 2926,
                        "id": 2934,
                        "nodeType": "Return",
                        "src": "2488:17:15"
                      }
                    ]
                  }
                },
                {
                  "body": {
                    "id": 2961,
                    "nodeType": "Block",
                    "src": "2563:70:15",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2954,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2950,
                              "name": "_arr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2918,
                              "src": "2575:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 2952,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2951,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2938,
                              "src": "2580:1:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2575:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 2953,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2920,
                            "src": "2586:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2575:15:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 2960,
                        "nodeType": "IfStatement",
                        "src": "2571:56:15",
                        "trueBody": {
                          "id": 2959,
                          "nodeType": "Block",
                          "src": "2592:35:15",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "74727565",
                                    "id": 2955,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "bool",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2610:4:15",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "value": "true"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 2956,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2938,
                                    "src": "2616:1:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 2957,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "2609:9:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                                  "typeString": "tuple(bool,uint256)"
                                }
                              },
                              "functionReturnParameters": 2926,
                              "id": 2958,
                              "nodeType": "Return",
                              "src": "2602:16:15"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2946,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2944,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2938,
                      "src": "2551:1:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 2945,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2555:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2551:5:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2962,
                  "initializationExpression": {
                    "assignments": [
                      2938
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 2938,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 2977,
                        "src": "2522:9:15",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 2937,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "2522:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 2943,
                    "initialValue": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 2942,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 2939,
                          "name": "_arr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2918,
                          "src": "2534:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 2940,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2534:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 2941,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2548:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "2534:15:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2522:27:15"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 2948,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "--",
                      "prefix": false,
                      "src": "2558:3:15",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 2947,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2938,
                        "src": "2558:1:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2949,
                    "nodeType": "ExpressionStatement",
                    "src": "2558:3:15"
                  },
                  "nodeType": "ForStatement",
                  "src": "2517:116:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 2967,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 2963,
                          "name": "_arr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2918,
                          "src": "2646:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 2965,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2964,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2651:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2646:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 2966,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2920,
                        "src": "2657:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "2646:15:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 2971,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2677:5:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2972,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2684:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "id": 2973,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "2676:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$",
                        "typeString": "tuple(bool,int_const 0)"
                      }
                    },
                    "id": 2974,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "2646:40:15",
                    "trueExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 2968,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2665:4:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2969,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2671:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "id": 2970,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "2664:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$",
                        "typeString": "tuple(bool,int_const 0)"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_uint8_$",
                      "typeString": "tuple(bool,uint8)"
                    }
                  },
                  "functionReturnParameters": 2926,
                  "id": 2975,
                  "nodeType": "Return",
                  "src": "2639:47:15"
                }
              ]
            },
            "documentation": null,
            "id": 2977,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2918,
                  "name": "_arr",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2370:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 2916,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "2370:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2917,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2370:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2920,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2386:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2919,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2386:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2369:30:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2926,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2923,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2435:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2922,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2435:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2925,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2977,
                  "src": "2441:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2924,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2441:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2434:15:15"
            },
            "scope": 3760,
            "src": "2354:337:15",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3083,
              "nodeType": "Block",
              "src": "2798:623:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 2990,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "2818:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2991,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2983,
                            "src": "2824:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 2989,
                          "name": "exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2847,
                          "src": "2812:5:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct CommandList.commandMap storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 2992,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2812:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e6420646f6573206e6f74206578697374",
                        "id": 2993,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2831:29:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        },
                        "value": "lock command does not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        }
                      ],
                      "id": 2988,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "2804:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2994,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2804:57:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2995,
                  "nodeType": "ExpressionStatement",
                  "src": "2804:57:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2997,
                      "name": "_waitingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3084,
                      "src": "2896:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2996,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2896:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2998,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2896:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3000,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3084,
                      "src": "2921:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 2999,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "2921:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3001,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2921:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3010,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3002,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3000,
                          "src": "2939:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3003,
                          "name": "_waitingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2997,
                          "src": "2947:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3004,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "2938:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3006,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "2969:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3007,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "waiting",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2777,
                          "src": "2969:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3008,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2983,
                          "src": "2983:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3005,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "2962:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3009,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2962:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "2938:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3011,
                  "nodeType": "ExpressionStatement",
                  "src": "2938:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3013,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3000,
                        "src": "3002:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e2077616974696e67206c697374",
                        "id": 3014,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3010:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        },
                        "value": "idx does not exist in waiting list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        }
                      ],
                      "id": 3012,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "2994:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3015,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2994:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3016,
                  "nodeType": "ExpressionStatement",
                  "src": "2994:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3031,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3017,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3085:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3020,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3085:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3021,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3019,
                        "name": "_waitingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2997,
                        "src": "3098:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3085:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3022,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3113:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3023,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3113:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3030,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3028,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3150:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3024,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2979,
                                "src": "3126:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3025,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "waiting",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2777,
                              "src": "3126:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3026,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3126:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3027,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "3126:23:15",
                          "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": 3029,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3126:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "3113:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3085:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3032,
                  "nodeType": "ExpressionStatement",
                  "src": "3085:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3044,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3033,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3159:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3036,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3159:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3037,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3159:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3042,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3205:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3038,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2979,
                              "src": "3181:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3039,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "waiting",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2777,
                            "src": "3181:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3040,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3181:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3041,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "3181:23:15",
                        "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": 3043,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3181:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3159:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3045,
                  "nodeType": "ExpressionStatement",
                  "src": "3159:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3051,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2983,
                        "src": "3255:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3046,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2979,
                          "src": "3237:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3049,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "3237:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3050,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3237:17:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3052,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3237:23:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3053,
                  "nodeType": "ExpressionStatement",
                  "src": "3237:23:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3061,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3054,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "3297:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3057,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "3297:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3058,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3056,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2983,
                          "src": "3307:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3297:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3059,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "agent",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2760,
                      "src": "3297:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3060,
                      "name": "_agent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2981,
                      "src": "3321:6:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3297:30:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 3062,
                  "nodeType": "ExpressionStatement",
                  "src": "3297:30:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3070,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3063,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "3333:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3066,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "3333:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3067,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3065,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2983,
                          "src": "3343:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3333:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3068,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "3333:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "32",
                      "id": 3069,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3358:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_2_by_1",
                        "typeString": "int_const 2"
                      },
                      "value": "2"
                    },
                    "src": "3333:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3071,
                  "nodeType": "ExpressionStatement",
                  "src": "3333:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3078,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2983,
                        "src": "3393:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3072,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2979,
                            "src": "3365:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3075,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agentCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2796,
                          "src": "3365:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 3076,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3074,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2981,
                          "src": "3380:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3365:22:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3077,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3365:27:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3079,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3365:33:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3080,
                  "nodeType": "ExpressionStatement",
                  "src": "3365:33:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3081,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3412:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 2987,
                  "id": 3082,
                  "nodeType": "Return",
                  "src": "3405:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3084,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "lock",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2984,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2979,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2709:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2978,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "2709:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2981,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2734:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2980,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2734:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2983,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2750:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2982,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2750:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2708:55:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2987,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2986,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3084,
                  "src": "2790:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2985,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2790:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2789:6:15"
            },
            "scope": 3760,
            "src": "2695:726:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3162,
              "nodeType": "Block",
              "src": "3525:460:15",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3094,
                      "name": "_waitingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3163,
                      "src": "3559:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3093,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3559:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3095,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3559:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3097,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3163,
                      "src": "3584:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 3096,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "3584:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3098,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3584:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3099,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3097,
                          "src": "3602:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3100,
                          "name": "_waitingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3094,
                          "src": "3610:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3101,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3601:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3103,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3086,
                            "src": "3632:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3104,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "waiting",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2777,
                          "src": "3632:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3105,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3088,
                          "src": "3646:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3102,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "3625:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3106,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3625:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "3601:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3108,
                  "nodeType": "ExpressionStatement",
                  "src": "3601:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3110,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3097,
                        "src": "3665:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e2077616974696e67206c697374",
                        "id": 3111,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3673:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        },
                        "value": "idx does not exist in waiting list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_189d1ca4d34a222d8daf8e1411d2e06ecb95010e1578187967a27f508e5ed9d2",
                          "typeString": "literal_string \"idx does not exist in waiting list\""
                        }
                      ],
                      "id": 3109,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "3657:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3657:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3113,
                  "nodeType": "ExpressionStatement",
                  "src": "3657:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3128,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3114,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3750:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3117,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3750:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3118,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3116,
                        "name": "_waitingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3094,
                        "src": "3763:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3750:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3119,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3778:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3120,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3778:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3127,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3125,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3815:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3121,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3086,
                                "src": "3791:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3122,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "waiting",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2777,
                              "src": "3791:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3123,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3791:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3124,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "3791:23:15",
                          "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": 3126,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3791:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "3778:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3750:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3129,
                  "nodeType": "ExpressionStatement",
                  "src": "3750:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3130,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3824:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3133,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "waiting",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2777,
                        "src": "3824:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3134,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3824:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3139,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3870:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3135,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3086,
                              "src": "3846:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3136,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "waiting",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2777,
                            "src": "3846:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3137,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3846:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3138,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "3846:23:15",
                        "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": 3140,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3846:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3824:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3142,
                  "nodeType": "ExpressionStatement",
                  "src": "3824:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3148,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3088,
                        "src": "3925:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3143,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3086,
                          "src": "3906:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3146,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "canceled",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2783,
                        "src": "3906:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3147,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3906:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3149,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3906:24:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3150,
                  "nodeType": "ExpressionStatement",
                  "src": "3906:24:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3158,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3151,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3086,
                            "src": "3936:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3154,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "3936:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3155,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3153,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3088,
                          "src": "3946:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3936:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3156,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "3936:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "34",
                      "id": 3157,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3961:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_4_by_1",
                        "typeString": "int_const 4"
                      },
                      "value": "4"
                    },
                    "src": "3936:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3159,
                  "nodeType": "ExpressionStatement",
                  "src": "3936:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "3976:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 3092,
                  "id": 3161,
                  "nodeType": "Return",
                  "src": "3969:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3163,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "cancelFromWaiting",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3089,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3086,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3163,
                  "src": "3452:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3085,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "3452:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3088,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3163,
                  "src": "3477:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3087,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3477:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3451:39:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3092,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3091,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3163,
                  "src": "3517:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3090,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3517:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3516:6:15"
            },
            "scope": 3760,
            "src": "3425:560:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3306,
              "nodeType": "Block",
              "src": "4094:1025:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3176,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "4114:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3177,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3169,
                            "src": "4120:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3175,
                          "name": "exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2847,
                          "src": "4108:5:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct CommandList.commandMap storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 3178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4108:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e6420646f6573206e6f74206578697374",
                        "id": 3179,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4127:29:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        },
                        "value": "lock command does not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        }
                      ],
                      "id": 3174,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4100:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3180,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4100:57:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3181,
                  "nodeType": "ExpressionStatement",
                  "src": "4100:57:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3197,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3189,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3183,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3165,
                                  "src": "4178:4:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                    "typeString": "struct CommandList.commandMap storage pointer"
                                  }
                                },
                                "id": 3184,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "list",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2774,
                                "src": "4178:9:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                  "typeString": "struct CommandList.element storage ref[] storage ref"
                                }
                              },
                              "id": 3186,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3185,
                                "name": "_idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3169,
                                "src": "4188:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "4178:15:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_element_$2771_storage",
                                "typeString": "struct CommandList.element storage ref"
                              }
                            },
                            "id": 3187,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2768,
                            "src": "4178:22:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "34",
                            "id": 3188,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4204:1:15",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_4_by_1",
                              "typeString": "int_const 4"
                            },
                            "value": "4"
                          },
                          "src": "4178:27:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3196,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3190,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3165,
                                  "src": "4209:4:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                    "typeString": "struct CommandList.commandMap storage pointer"
                                  }
                                },
                                "id": 3191,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "list",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2774,
                                "src": "4209:9:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                  "typeString": "struct CommandList.element storage ref[] storage ref"
                                }
                              },
                              "id": 3193,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3192,
                                "name": "_idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3169,
                                "src": "4219:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "4209:15:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_element_$2771_storage",
                                "typeString": "struct CommandList.element storage ref"
                              }
                            },
                            "id": 3194,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2768,
                            "src": "4209:22:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "35",
                            "id": 3195,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4235:1:15",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_5_by_1",
                              "typeString": "int_const 5"
                            },
                            "value": "5"
                          },
                          "src": "4209:27:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4178:58:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e64207374617475732063616e206e6f742062652063616e63656c6564206f7220646f6e65",
                        "id": 3198,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4244:49:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_365fa5f5d92ae96348066ced42f20135202acd5efc338eac65c5e8100b9e62eb",
                          "typeString": "literal_string \"lock command status can not be canceled or done\""
                        },
                        "value": "lock command status can not be canceled or done"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_365fa5f5d92ae96348066ced42f20135202acd5efc338eac65c5e8100b9e62eb",
                          "typeString": "literal_string \"lock command status can not be canceled or done\""
                        }
                      ],
                      "id": 3182,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4163:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3199,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4163:136:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3200,
                  "nodeType": "ExpressionStatement",
                  "src": "4163:136:15"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3207,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3201,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "4333:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3202,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "4333:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3204,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3203,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3169,
                          "src": "4343:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4333:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3205,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "4333:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3206,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4359:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "4333:27:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3225,
                  "nodeType": "IfStatement",
                  "src": "4329:234:15",
                  "trueBody": {
                    "id": 3224,
                    "nodeType": "Block",
                    "src": "4362:201:15",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 3215,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 3209,
                                "name": "_agent",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3167,
                                "src": "4425:6:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 3210,
                                      "name": "self",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3165,
                                      "src": "4435:4:15",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                        "typeString": "struct CommandList.commandMap storage pointer"
                                      }
                                    },
                                    "id": 3211,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "list",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 2774,
                                    "src": "4435:9:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                      "typeString": "struct CommandList.element storage ref[] storage ref"
                                    }
                                  },
                                  "id": 3213,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 3212,
                                    "name": "_idx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3169,
                                    "src": "4445:4:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4435:15:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_element_$2771_storage",
                                    "typeString": "struct CommandList.element storage ref"
                                  }
                                },
                                "id": 3214,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "submitter",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2758,
                                "src": "4435:25:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "4425:35:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "75736572206f6e6c792063616e63656c2068696d206f776e20636f6d6d616e64",
                              "id": 3216,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4470:34:15",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_cf2cae9839861fcada48b6891f1cabe06564a281bc77dd5e52485577fb99f51d",
                                "typeString": "literal_string \"user only cancel him own command\""
                              },
                              "value": "user only cancel him own command"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_cf2cae9839861fcada48b6891f1cabe06564a281bc77dd5e52485577fb99f51d",
                                "typeString": "literal_string \"user only cancel him own command\""
                              }
                            ],
                            "id": 3208,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              9044,
                              9045
                            ],
                            "referencedDeclaration": 9045,
                            "src": "4408:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 3217,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4408:104:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3218,
                        "nodeType": "ExpressionStatement",
                        "src": "4408:104:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3220,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3165,
                              "src": "4545:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 3221,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3169,
                              "src": "4551:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 3219,
                            "name": "cancelFromWaiting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3163,
                            "src": "4527:17:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (struct CommandList.commandMap storage pointer,uint256) returns (bool)"
                            }
                          },
                          "id": 3222,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4527:29:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "functionReturnParameters": 3173,
                        "id": 3223,
                        "nodeType": "Return",
                        "src": "4520:36:15"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3227,
                      "name": "_lockingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3307,
                      "src": "4617:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3226,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "4617:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3228,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4617:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3230,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3307,
                      "src": "4642:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 3229,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "4642:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3231,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4642:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3232,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3230,
                          "src": "4660:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3233,
                          "name": "_lockingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3227,
                          "src": "4668:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3234,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "4659:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3236,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "4690:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3237,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "locking",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2780,
                          "src": "4690:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3238,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3169,
                          "src": "4704:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3235,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "4683:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3239,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4683:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "4659:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3241,
                  "nodeType": "ExpressionStatement",
                  "src": "4659:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3243,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3230,
                        "src": "4723:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e206c6f636b696e67206c697374",
                        "id": 3244,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4731:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        },
                        "value": "idx does not exist in locking list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        }
                      ],
                      "id": 3242,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4715:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4715:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3246,
                  "nodeType": "ExpressionStatement",
                  "src": "4715:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3254,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3248,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3167,
                          "src": "4782:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3249,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3165,
                                "src": "4792:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3250,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "4792:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3252,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3251,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3169,
                              "src": "4802:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4792:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "id": 3253,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agent",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2760,
                          "src": "4792:21:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "4782:31:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6167656e742063616e63656c20636f6d6d616e642068696d73656c66",
                        "id": 3255,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4815:30:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        },
                        "value": "agent cancel command himself"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        }
                      ],
                      "id": 3247,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "4774:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3256,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4774:72:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3257,
                  "nodeType": "ExpressionStatement",
                  "src": "4774:72:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3272,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3258,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "4884:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3261,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "4884:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3262,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3260,
                        "name": "_lockingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3227,
                        "src": "4897:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4884:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3263,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "4912:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3264,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "4912:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3271,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3269,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4949:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3265,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3165,
                                "src": "4925:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3266,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "locking",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2780,
                              "src": "4925:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3267,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "4925:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3268,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "4925:23:15",
                          "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": 3270,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4925:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "4912:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4884:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3273,
                  "nodeType": "ExpressionStatement",
                  "src": "4884:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3285,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3274,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "4958:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3277,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "4958:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3278,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "4958:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3283,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5004:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3279,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3165,
                              "src": "4980:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3280,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "locking",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2780,
                            "src": "4980:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3281,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4980:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3282,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "4980:23:15",
                        "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": 3284,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4980:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4958:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3286,
                  "nodeType": "ExpressionStatement",
                  "src": "4958:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3292,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3169,
                        "src": "5059:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3287,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3165,
                          "src": "5040:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3290,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "canceled",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2783,
                        "src": "5040:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3291,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5040:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3293,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5040:24:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3294,
                  "nodeType": "ExpressionStatement",
                  "src": "5040:24:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3302,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3295,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3165,
                            "src": "5070:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3298,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "5070:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3299,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3297,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3169,
                          "src": "5080:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "5070:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3300,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "5070:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "34",
                      "id": 3301,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5095:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_4_by_1",
                        "typeString": "int_const 4"
                      },
                      "value": "4"
                    },
                    "src": "5070:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3303,
                  "nodeType": "ExpressionStatement",
                  "src": "5070:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3304,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "5110:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 3173,
                  "id": 3305,
                  "nodeType": "Return",
                  "src": "5103:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3307,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "cancel",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3170,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3165,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4005:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3164,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "4005:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3167,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4030:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3166,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4030:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3169,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4046:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3168,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4046:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4004:55:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3172,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3307,
                  "src": "4086:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3171,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4086:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4085:6:15"
            },
            "scope": 3760,
            "src": "3989:1130:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3417,
              "nodeType": "Block",
              "src": "5230:740:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3320,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3309,
                            "src": "5250:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3321,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3313,
                            "src": "5256:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3319,
                          "name": "exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2847,
                          "src": "5244:5:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct CommandList.commandMap storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 3322,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5244:17:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e6420646f6573206e6f74206578697374",
                        "id": 3323,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5263:29:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        },
                        "value": "lock command does not exist"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e2b5185cc4be90cba22e7103b0d693bf7820d08408953d2d4d0897eefe2cb888",
                          "typeString": "literal_string \"lock command does not exist\""
                        }
                      ],
                      "id": 3318,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5236:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3324,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5236:57:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3325,
                  "nodeType": "ExpressionStatement",
                  "src": "5236:57:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3333,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3327,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3309,
                                "src": "5352:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3328,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "5352:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3330,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3329,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3313,
                              "src": "5362:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5352:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "id": 3331,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2768,
                          "src": "5352:22:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 3332,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5378:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "src": "5352:27:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6c6f636b20636f6d6d616e64207374617475732063616e20626520636f6d706c65746564",
                        "id": 3334,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5387:38:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0a6a93f63cec5d28fd2dd42d24974cba44975407d393d5cb05d4828ee19d73c7",
                          "typeString": "literal_string \"lock command status can be completed\""
                        },
                        "value": "lock command status can be completed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0a6a93f63cec5d28fd2dd42d24974cba44975407d393d5cb05d4828ee19d73c7",
                          "typeString": "literal_string \"lock command status can be completed\""
                        }
                      ],
                      "id": 3326,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5337:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3335,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5337:94:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3336,
                  "nodeType": "ExpressionStatement",
                  "src": "5337:94:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3344,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3338,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3311,
                          "src": "5445:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3339,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3309,
                                "src": "5455:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3340,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "5455:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3342,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3341,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3313,
                              "src": "5465:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5455:15:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "id": 3343,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agent",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2760,
                          "src": "5455:21:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5445:31:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6167656e742063616e63656c20636f6d6d616e642068696d73656c66",
                        "id": 3345,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5478:30:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        },
                        "value": "agent cancel command himself"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3d3631402915e918d2e4eb091f9fcaa5a85f6d2223b9450d216a70455e217c9e",
                          "typeString": "literal_string \"agent cancel command himself\""
                        }
                      ],
                      "id": 3337,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5437:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3346,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5437:72:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3347,
                  "nodeType": "ExpressionStatement",
                  "src": "5437:72:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3349,
                      "name": "_lockingIdx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3418,
                      "src": "5544:19:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3348,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "5544:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3350,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5544:19:15"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3352,
                      "name": "_exist",
                      "nodeType": "VariableDeclaration",
                      "scope": 3418,
                      "src": "5569:11:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 3351,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "5569:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3353,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5569:11:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3362,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 3354,
                          "name": "_exist",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3352,
                          "src": "5587:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3355,
                          "name": "_lockingIdx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3349,
                          "src": "5595:11:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 3356,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "5586:21:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3358,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3309,
                            "src": "5617:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3359,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "locking",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2780,
                          "src": "5617:12:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 3360,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3313,
                          "src": "5631:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 3357,
                        "name": "getIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2977,
                        "src": "5610:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_uint256_$",
                          "typeString": "function (uint256[] memory,uint256) pure returns (bool,uint256)"
                        }
                      },
                      "id": 3361,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5610:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$",
                        "typeString": "tuple(bool,uint256)"
                      }
                    },
                    "src": "5586:50:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3363,
                  "nodeType": "ExpressionStatement",
                  "src": "5586:50:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3365,
                        "name": "_exist",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "5650:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "69647820646f6573206e6f7420657869737420696e206c6f636b696e67206c697374",
                        "id": 3366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5658:36:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        },
                        "value": "idx does not exist in locking list"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2ed2f78f5853a35f51137d43eaa7b2e053d988ef84429dc2cb2a5e0c62570897",
                          "typeString": "literal_string \"idx does not exist in locking list\""
                        }
                      ],
                      "id": 3364,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "5642:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5642:53:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3368,
                  "nodeType": "ExpressionStatement",
                  "src": "5642:53:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3383,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3369,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5733:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3372,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "5733:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3373,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3371,
                        "name": "_lockingIdx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3349,
                        "src": "5746:11:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5733:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3374,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5761:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3375,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "5761:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3382,
                      "indexExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3380,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5798:1:15",
                            "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,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3376,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3309,
                                "src": "5774:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3377,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "locking",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2780,
                              "src": "5774:12:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 3378,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5774:19:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 3379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5611,
                          "src": "5774:23:15",
                          "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": 3381,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5774:26:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5761:40:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5733:68:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3384,
                  "nodeType": "ExpressionStatement",
                  "src": "5733:68:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3396,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3385,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5807:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3388,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "locking",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2780,
                        "src": "5807:12:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3389,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5807:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3394,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5853:1:15",
                          "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,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3390,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3309,
                              "src": "5829:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3391,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "locking",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2780,
                            "src": "5829:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 3392,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5829:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3393,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5611,
                        "src": "5829:23:15",
                        "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": 3395,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5829:26:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5807:48:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3397,
                  "nodeType": "ExpressionStatement",
                  "src": "5807:48:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3403,
                        "name": "_idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3313,
                        "src": "5910:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3398,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3309,
                          "src": "5890:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3401,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "completed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2786,
                        "src": "5890:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 3402,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5890:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 3404,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5890:25:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3405,
                  "nodeType": "ExpressionStatement",
                  "src": "5890:25:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3413,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3406,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3309,
                            "src": "5921:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3409,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "list",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2774,
                          "src": "5921:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                            "typeString": "struct CommandList.element storage ref[] storage ref"
                          }
                        },
                        "id": 3410,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3408,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3313,
                          "src": "5931:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "5921:15:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_element_$2771_storage",
                          "typeString": "struct CommandList.element storage ref"
                        }
                      },
                      "id": 3411,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2768,
                      "src": "5921:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "35",
                      "id": 3412,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5946:1:15",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_5_by_1",
                        "typeString": "int_const 5"
                      },
                      "value": "5"
                    },
                    "src": "5921:26:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3414,
                  "nodeType": "ExpressionStatement",
                  "src": "5921:26:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 3415,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "5961:4:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 3317,
                  "id": 3416,
                  "nodeType": "Return",
                  "src": "5954:11:15"
                }
              ]
            },
            "documentation": null,
            "id": 3418,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "complete",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3314,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3309,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5141:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3308,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "5141:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3311,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5166:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3310,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5166:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3313,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5182:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3312,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5182:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5140:55:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3317,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3316,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "5222:4:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3315,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5222:4:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5221:6:15"
            },
            "scope": 3760,
            "src": "5123:847:15",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3429,
              "nodeType": "Block",
              "src": "6046:34:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3425,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3420,
                        "src": "6059:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3426,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "list",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2774,
                      "src": "6059:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                        "typeString": "struct CommandList.element storage ref[] storage ref"
                      }
                    },
                    "id": 3427,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6059:16:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3424,
                  "id": 3428,
                  "nodeType": "Return",
                  "src": "6052:23:15"
                }
              ]
            },
            "documentation": null,
            "id": 3430,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "count",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3421,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3420,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3430,
                  "src": "5989:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3419,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "5989:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5988:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3424,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3423,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3430,
                  "src": "6037:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3422,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6037:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6036:9:15"
            },
            "scope": 3760,
            "src": "5974:106:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3441,
              "nodeType": "Block",
              "src": "6177:37:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3437,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3432,
                        "src": "6190:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3438,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "waiting",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2777,
                      "src": "6190:12:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3439,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6190:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3436,
                  "id": 3440,
                  "nodeType": "Return",
                  "src": "6183:26:15"
                }
              ]
            },
            "documentation": null,
            "id": 3442,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countWaiting",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3433,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3432,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3442,
                  "src": "6106:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3431,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6106:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6105:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3436,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3435,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3442,
                  "src": "6166:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3434,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6166:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6165:9:15"
            },
            "scope": 3760,
            "src": "6084:130:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3453,
              "nodeType": "Block",
              "src": "6311:37:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3449,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3444,
                        "src": "6324:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3450,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "locking",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2780,
                      "src": "6324:12:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3451,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6324:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3448,
                  "id": 3452,
                  "nodeType": "Return",
                  "src": "6317:26:15"
                }
              ]
            },
            "documentation": null,
            "id": 3454,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countLocking",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3445,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3444,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3454,
                  "src": "6240:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3443,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6240:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6239:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3448,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3447,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3454,
                  "src": "6300:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3446,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6300:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6299:9:15"
            },
            "scope": 3760,
            "src": "6218:130:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3465,
              "nodeType": "Block",
              "src": "6446:38:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3461,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3456,
                        "src": "6459:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3462,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "canceled",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2783,
                      "src": "6459:13:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3463,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6459:20:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3460,
                  "id": 3464,
                  "nodeType": "Return",
                  "src": "6452:27:15"
                }
              ]
            },
            "documentation": null,
            "id": 3466,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countCanceled",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3457,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3456,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3466,
                  "src": "6375:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3455,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6375:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6374:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3460,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3459,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3466,
                  "src": "6435:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3458,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6435:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6434:9:15"
            },
            "scope": 3760,
            "src": "6352:132:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3477,
              "nodeType": "Block",
              "src": "6583:39:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3473,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3468,
                        "src": "6596:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3474,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "completed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2786,
                      "src": "6596:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3475,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6596:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3472,
                  "id": 3476,
                  "nodeType": "Return",
                  "src": "6589:28:15"
                }
              ]
            },
            "documentation": null,
            "id": 3478,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countCompleted",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3469,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3468,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3478,
                  "src": "6512:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3467,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6512:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6511:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3472,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3471,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3478,
                  "src": "6572:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3470,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6572:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6571:9:15"
            },
            "scope": 3760,
            "src": "6488:134:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3493,
              "nodeType": "Block",
              "src": "6743:55:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3487,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3480,
                          "src": "6756:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3488,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "submitterCmds",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2791,
                        "src": "6756:18:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                          "typeString": "mapping(address => uint256[] storage ref)"
                        }
                      },
                      "id": 3490,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3489,
                        "name": "_submitter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3482,
                        "src": "6775:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6756:30:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3491,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6756:37:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3486,
                  "id": 3492,
                  "nodeType": "Return",
                  "src": "6749:44:15"
                }
              ]
            },
            "documentation": null,
            "id": 3494,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countBySubmitter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3483,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3480,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3494,
                  "src": "6652:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3479,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6652:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3482,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 3494,
                  "src": "6677:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3481,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6677:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6651:45:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3486,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3485,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3494,
                  "src": "6732:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3484,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6732:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6731:9:15"
            },
            "scope": 3760,
            "src": "6626:172:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3509,
              "nodeType": "Block",
              "src": "6911:47:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3503,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3496,
                          "src": "6924:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3504,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "agentCmds",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2796,
                        "src": "6924:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                          "typeString": "mapping(address => uint256[] storage ref)"
                        }
                      },
                      "id": 3506,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3505,
                        "name": "_agent",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3498,
                        "src": "6939:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6924:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 3507,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "6924:29:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3502,
                  "id": 3508,
                  "nodeType": "Return",
                  "src": "6917:36:15"
                }
              ]
            },
            "documentation": null,
            "id": 3510,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "countByAgent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3499,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3496,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3510,
                  "src": "6824:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3495,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6824:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3498,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3510,
                  "src": "6849:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3497,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6849:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6823:41:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3502,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3501,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3510,
                  "src": "6900:7:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3500,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6900:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6899:9:15"
            },
            "scope": 3760,
            "src": "6802:156:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3533,
              "nodeType": "Block",
              "src": "7077:110:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3524,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3520,
                          "name": "_idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3514,
                          "src": "7091:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 3521,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3512,
                              "src": "7098:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                "typeString": "struct CommandList.commandMap storage pointer"
                              }
                            },
                            "id": 3522,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "list",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2774,
                            "src": "7098:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                              "typeString": "struct CommandList.element storage ref[] storage ref"
                            }
                          },
                          "id": 3523,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7098:16:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7091:23:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e646578206d75737420736d616c6c207468616e2063757272656e7420636f756e74",
                        "id": 3525,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7116:37:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ced05a9863658d26be4f7cbaeffebfa53821dabbe1077d21241580b1e9ea74c5",
                          "typeString": "literal_string \"index must small than current count\""
                        },
                        "value": "index must small than current count"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ced05a9863658d26be4f7cbaeffebfa53821dabbe1077d21241580b1e9ea74c5",
                          "typeString": "literal_string \"index must small than current count\""
                        }
                      ],
                      "id": 3519,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "7083:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3526,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7083:71:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3527,
                  "nodeType": "ExpressionStatement",
                  "src": "7083:71:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3528,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3512,
                        "src": "7167:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3529,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "list",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2774,
                      "src": "7167:9:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                        "typeString": "struct CommandList.element storage ref[] storage ref"
                      }
                    },
                    "id": 3531,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3530,
                      "name": "_idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3514,
                      "src": "7177:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7167:15:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_storage",
                      "typeString": "struct CommandList.element storage ref"
                    }
                  },
                  "functionReturnParameters": 3518,
                  "id": 3532,
                  "nodeType": "Return",
                  "src": "7160:22:15"
                }
              ]
            },
            "documentation": null,
            "id": 3534,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3515,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3512,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3534,
                  "src": "6980:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3511,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "6980:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3514,
                  "name": "_idx",
                  "nodeType": "VariableDeclaration",
                  "scope": 3534,
                  "src": "7005:12:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3513,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7005:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6979:39:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3518,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3517,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3534,
                  "src": "7054:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_element_$2771_memory_ptr",
                    "typeString": "struct CommandList.element"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3516,
                    "name": "CommandList.element",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2771,
                    "src": "7054:19:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                      "typeString": "struct CommandList.element"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7053:21:15"
            },
            "scope": 3760,
            "src": "6962:225:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3549,
              "nodeType": "Block",
              "src": "7311:48:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3544,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3536,
                        "src": "7324:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3545,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "submitterCmds",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2791,
                      "src": "7324:18:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                        "typeString": "mapping(address => uint256[] storage ref)"
                      }
                    },
                    "id": 3547,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3546,
                      "name": "_submitter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3538,
                      "src": "7343:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7324:30:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3543,
                  "id": 3548,
                  "nodeType": "Return",
                  "src": "7317:37:15"
                }
              ]
            },
            "documentation": null,
            "id": 3550,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getIdxBySubmitter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3539,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3536,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3550,
                  "src": "7218:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3535,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7218:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3538,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 3550,
                  "src": "7243:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3537,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7243:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7217:45:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3542,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3550,
                  "src": "7298:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3540,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7298:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3541,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7298:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7297:11:15"
            },
            "scope": 3760,
            "src": "7191:168:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3565,
              "nodeType": "Block",
              "src": "7475:40:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3560,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3552,
                        "src": "7488:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      "id": 3561,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "agentCmds",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2796,
                      "src": "7488:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                        "typeString": "mapping(address => uint256[] storage ref)"
                      }
                    },
                    "id": 3563,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3562,
                      "name": "_agent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3554,
                      "src": "7503:6:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7488:22:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3559,
                  "id": 3564,
                  "nodeType": "Return",
                  "src": "7481:29:15"
                }
              ]
            },
            "documentation": null,
            "id": 3566,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getIdxByAgent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3555,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3552,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3566,
                  "src": "7386:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3551,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7386:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3554,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3566,
                  "src": "7411:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3553,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7411:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7385:41:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3559,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3558,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3566,
                  "src": "7462:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3556,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7462:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3557,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7462:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7461:11:15"
            },
            "scope": 3760,
            "src": "7363:152:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3577,
              "nodeType": "Block",
              "src": "7615:30:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3574,
                      "name": "self",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3568,
                      "src": "7628:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                        "typeString": "struct CommandList.commandMap storage pointer"
                      }
                    },
                    "id": 3575,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "waiting",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2777,
                    "src": "7628:12:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3573,
                  "id": 3576,
                  "nodeType": "Return",
                  "src": "7621:19:15"
                }
              ]
            },
            "documentation": null,
            "id": 3578,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getWaitingIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3569,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3568,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3578,
                  "src": "7542:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3567,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7542:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7541:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3572,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3578,
                  "src": "7602:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3570,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7602:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3571,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7602:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7601:11:15"
            },
            "scope": 3760,
            "src": "7519:126:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3589,
              "nodeType": "Block",
              "src": "7745:30:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3586,
                      "name": "self",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3580,
                      "src": "7758:4:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                        "typeString": "struct CommandList.commandMap storage pointer"
                      }
                    },
                    "id": 3587,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "locking",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2780,
                    "src": "7758:12:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                      "typeString": "uint256[] storage ref"
                    }
                  },
                  "functionReturnParameters": 3585,
                  "id": 3588,
                  "nodeType": "Return",
                  "src": "7751:19:15"
                }
              ]
            },
            "documentation": null,
            "id": 3590,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getLockingIdx",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3581,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3580,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3590,
                  "src": "7672:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3579,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7672:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7671:25:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3584,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3590,
                  "src": "7732:9:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3582,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7732:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3583,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7732:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7731:11:15"
            },
            "scope": 3760,
            "src": "7649:126:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3666,
              "nodeType": "Block",
              "src": "7944:354:15",
              "statements": [
                {
                  "assignments": [
                    3606
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3606,
                      "name": "_idx",
                      "nodeType": "VariableDeclaration",
                      "scope": 3667,
                      "src": "7950:12:15",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3605,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "7950:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3608,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 3607,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "7965:1:15",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7950:16:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3612,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3610,
                          "name": "_count",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3599,
                          "src": "7980:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 3611,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7989:1:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "7980:10:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "72657475726e206e756d626572206d75737420626967676572207468616e2030",
                        "id": 3613,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7992:34:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_77e7c3b7b2e897d6d61c9adadd03e672f46f1501428d9e7f585ea1fd64517a2b",
                          "typeString": "literal_string \"return number must bigger than 0\""
                        },
                        "value": "return number must bigger than 0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_77e7c3b7b2e897d6d61c9adadd03e672f46f1501428d9e7f585ea1fd64517a2b",
                          "typeString": "literal_string \"return number must bigger than 0\""
                        }
                      ],
                      "id": 3609,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        9044,
                        9045
                      ],
                      "referencedDeclaration": 9045,
                      "src": "7972:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3614,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7972:55:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3615,
                  "nodeType": "ExpressionStatement",
                  "src": "7972:55:15"
                },
                {
                  "assignments": [
                    3620
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3620,
                      "name": "res",
                      "nodeType": "VariableDeclaration",
                      "scope": 3667,
                      "src": "8033:32:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                        "typeString": "struct CommandList.element[]"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 3618,
                          "name": "CommandList.element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 2771,
                          "src": "8033:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                            "typeString": "struct CommandList.element"
                          }
                        },
                        "id": 3619,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "8033:21:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                          "typeString": "struct CommandList.element[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3626,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3624,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3599,
                        "src": "8094:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3623,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "8068:25:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (struct CommandList.element memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 3621,
                          "name": "CommandList.element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 2771,
                          "src": "8072:19:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                            "typeString": "struct CommandList.element"
                          }
                        },
                        "id": 3622,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "8072:21:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                          "typeString": "struct CommandList.element[]"
                        }
                      }
                    },
                    "id": 3625,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8068:33:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8033:68:15"
                },
                {
                  "body": {
                    "id": 3662,
                    "nodeType": "Block",
                    "src": "8154:123:15",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3640,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 3638,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3606,
                            "src": "8166:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 3639,
                            "name": "_count",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3599,
                            "src": "8174:6:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "8166:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 3643,
                        "nodeType": "IfStatement",
                        "src": "8162:44:15",
                        "trueBody": {
                          "id": 3642,
                          "nodeType": "Block",
                          "src": "8182:24:15",
                          "statements": [
                            {
                              "id": 3641,
                              "nodeType": "Break",
                              "src": "8192:5:15"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3653,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3644,
                              "name": "res",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3620,
                              "src": "8214:3:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                                "typeString": "struct CommandList.element memory[] memory"
                              }
                            },
                            "id": 3646,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3645,
                              "name": "_idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3606,
                              "src": "8218:4:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "8214:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_memory",
                              "typeString": "struct CommandList.element memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 3647,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3592,
                                "src": "8226:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                                  "typeString": "struct CommandList.commandMap storage pointer"
                                }
                              },
                              "id": 3648,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "list",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2774,
                              "src": "8226:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage",
                                "typeString": "struct CommandList.element storage ref[] storage ref"
                              }
                            },
                            "id": 3652,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3649,
                                "name": "_arr",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3595,
                                "src": "8236:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 3651,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3650,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3628,
                                "src": "8241:1:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8236:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "8226:18:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_element_$2771_storage",
                              "typeString": "struct CommandList.element storage ref"
                            }
                          },
                          "src": "8214:30:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_element_$2771_memory",
                            "typeString": "struct CommandList.element memory"
                          }
                        },
                        "id": 3654,
                        "nodeType": "ExpressionStatement",
                        "src": "8214:30:15"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3660,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 3655,
                            "name": "_idx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3606,
                            "src": "8252:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 3658,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8268:1:15",
                                "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": 3656,
                                "name": "_idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3606,
                                "src": "8259:4:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 3657,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 5635,
                              "src": "8259:8:15",
                              "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": 3659,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8259:11:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "8252:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3661,
                        "nodeType": "ExpressionStatement",
                        "src": "8252:18:15"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3631,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3628,
                      "src": "8132:1:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3632,
                        "name": "_arr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3595,
                        "src": "8136:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 3633,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "8136:11:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8132:15:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3663,
                  "initializationExpression": {
                    "assignments": [
                      3628
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 3628,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 3667,
                        "src": "8113:9:15",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 3627,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "8113:7:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 3630,
                    "initialValue": {
                      "argumentTypes": null,
                      "id": 3629,
                      "name": "_from",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3597,
                      "src": "8125:5:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "8113:17:15"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 3636,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "8149:3:15",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 3635,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3628,
                        "src": "8149:1:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3637,
                    "nodeType": "ExpressionStatement",
                    "src": "8149:3:15"
                  },
                  "nodeType": "ForStatement",
                  "src": "8108:169:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3664,
                    "name": "res",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3620,
                    "src": "8290:3:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3604,
                  "id": 3665,
                  "nodeType": "Return",
                  "src": "8283:10:15"
                }
              ]
            },
            "documentation": null,
            "id": 3667,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getElement",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3600,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3592,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7804:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3591,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "7804:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3595,
                  "name": "_arr",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7833:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 3593,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "7833:7:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 3594,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7833:9:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3597,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7853:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3596,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7853:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3599,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7872:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3598,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7872:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7798:92:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3604,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3603,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3667,
                  "src": "7914:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3601,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "7914:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3602,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7914:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7913:30:15"
            },
            "scope": 3760,
            "src": "7779:519:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3691,
              "nodeType": "Block",
              "src": "8475:81:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3682,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3669,
                        "src": "8499:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3683,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3669,
                            "src": "8505:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3684,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "submitterCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2791,
                          "src": "8505:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 3686,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3685,
                          "name": "_submitter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3671,
                          "src": "8524:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8505:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3687,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3673,
                        "src": "8537:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3688,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3675,
                        "src": "8544:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3681,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "8488:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3689,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8488:63:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3680,
                  "id": 3690,
                  "nodeType": "Return",
                  "src": "8481:70:15"
                }
              ]
            },
            "documentation": null,
            "id": 3692,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getBySubmitter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3676,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3669,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8331:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3668,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "8331:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3671,
                  "name": "_submitter",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8360:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3670,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8360:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3673,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8384:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3672,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8384:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3675,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8403:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3674,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8403:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8325:96:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3680,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3679,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3692,
                  "src": "8445:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3677,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "8445:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3678,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8445:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8444:30:15"
            },
            "scope": 3760,
            "src": "8302:254:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3716,
              "nodeType": "Block",
              "src": "8725:73:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3707,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3694,
                        "src": "8749:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3708,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3694,
                            "src": "8755:4:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                              "typeString": "struct CommandList.commandMap storage pointer"
                            }
                          },
                          "id": 3709,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "agentCmds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2796,
                          "src": "8755:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$",
                            "typeString": "mapping(address => uint256[] storage ref)"
                          }
                        },
                        "id": 3711,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3710,
                          "name": "_agent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3696,
                          "src": "8770:6:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8755:22:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3712,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3698,
                        "src": "8779:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3713,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3700,
                        "src": "8786:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3706,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "8738:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3714,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8738:55:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3705,
                  "id": 3715,
                  "nodeType": "Return",
                  "src": "8731:62:15"
                }
              ]
            },
            "documentation": null,
            "id": 3717,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByAgent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3701,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3694,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8585:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3693,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "8585:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3696,
                  "name": "_agent",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8614:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3695,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8614:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3698,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8634:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3697,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8634:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3700,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8653:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3699,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8653:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8579:92:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3705,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3704,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3717,
                  "src": "8695:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3702,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "8695:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3703,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8695:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8694:30:15"
            },
            "scope": 3760,
            "src": "8560:238:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3737,
              "nodeType": "Block",
              "src": "8948:64:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3730,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3719,
                        "src": "8972:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3731,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3719,
                          "src": "8978:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3732,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "canceled",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2783,
                        "src": "8978:13:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3733,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3721,
                        "src": "8993:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3734,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3723,
                        "src": "9000:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3729,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "8961:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3735,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8961:46:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3728,
                  "id": 3736,
                  "nodeType": "Return",
                  "src": "8954:53:15"
                }
              ]
            },
            "documentation": null,
            "id": 3738,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByCanceled",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3724,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3719,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8825:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3718,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "8825:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3721,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8850:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3720,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8850:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3723,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8865:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3722,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8865:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8824:56:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3727,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3738,
                  "src": "8916:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3725,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "8916:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3726,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8916:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8915:30:15"
            },
            "scope": 3760,
            "src": "8802:210:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 3758,
              "nodeType": "Block",
              "src": "9165:65:15",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3751,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3740,
                        "src": "9189:4:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3752,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3740,
                          "src": "9195:4:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                            "typeString": "struct CommandList.commandMap storage pointer"
                          }
                        },
                        "id": 3753,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "completed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2786,
                        "src": "9195:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3754,
                        "name": "_from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3742,
                        "src": "9211:5:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3755,
                        "name": "_count",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3744,
                        "src": "9218:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                          "typeString": "struct CommandList.commandMap storage pointer"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3750,
                      "name": "getElement",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3667,
                      "src": "9178:10:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_commandMap_$2797_storage_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr_$",
                        "typeString": "function (struct CommandList.commandMap storage pointer,uint256[] memory,uint256,uint256) view returns (struct CommandList.element memory[] memory)"
                      }
                    },
                    "id": 3756,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9178:47:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                      "typeString": "struct CommandList.element memory[] memory"
                    }
                  },
                  "functionReturnParameters": 3749,
                  "id": 3757,
                  "nodeType": "Return",
                  "src": "9171:54:15"
                }
              ]
            },
            "documentation": null,
            "id": 3759,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getByCompleted",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3745,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3740,
                  "name": "self",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9045:23:15",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                    "typeString": "struct CommandList.commandMap"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3739,
                    "name": "commandMap",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2797,
                    "src": "9045:10:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_commandMap_$2797_storage_ptr",
                      "typeString": "struct CommandList.commandMap"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3742,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9074:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3741,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9074:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3744,
                  "name": "_count",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9093:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3743,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9093:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9039:72:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 3749,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3748,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3759,
                  "src": "9135:21:15",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_element_$2771_memory_$dyn_memory_ptr",
                    "typeString": "struct CommandList.element[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 3746,
                      "name": "CommandList.element",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 2771,
                      "src": "9135:19:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_element_$2771_storage_ptr",
                        "typeString": "struct CommandList.element"
                      }
                    },
                    "id": 3747,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "9135:21:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_element_$2771_storage_$dyn_storage_ptr",
                      "typeString": "struct CommandList.element[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9134:30:15"
            },
            "scope": 3760,
            "src": "9016:214:15",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 3761,
        "src": "126:9106:15"
      }
    ],
    "src": "0:9233:15"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.16",
  "updatedAt": "2021-03-06T09:30:00.985Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}