{
  "fileName": "StorageMocksForComparison.sol",
  "contractName": "StorageMockSimpleUnchanged",
  "source": "pragma solidity ^0.6.0;\n// SPDX-License-Identifier: MIT\n\ncontract StorageMockEmpty {\n}\n\ncontract StorageMockSimpleOriginal {\n  uint256 a;\n  uint256 b;\n}\n\ncontract StorageMockSimpleUnchanged {\n  uint256 a;\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithAddedVar {\n  uint256 a;\n  uint256 b;\n  uint256 c;\n}\n\ncontract StorageMockSimpleWithInsertedVar {\n  uint256 a;\n  uint256 c;\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithUnshiftedVar {\n  uint256 c;\n  uint256 a;\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithRenamedVar {\n  uint256 a;\n  uint256 c;\n}\n\ncontract StorageMockSimpleWithTypeChanged {\n  uint256 a;\n  string b;\n}\n\ncontract StorageMockSimpleWithDeletedVar {\n  uint256 b;\n}\n\ncontract StorageMockSimpleWithPoppedVar {\n  uint256 a;\n}\n\ncontract StorageMockSimpleWithReplacedVar {\n  uint256 a;\n  string c;\n}\n\ncontract StorageMockSimpleChangedWithAppendedVar {\n  uint256 a2;\n  uint256 b2;\n  uint256 c2;\n}\n\ncontract StorageMockComplexOriginal {\n  mapping(address => uint256) a;\n}\n\ncontract StorageMockComplexWithChangedVar {\n  mapping(address => address) a;\n}\n\ncontract StorageMockChainPrivateBase {\n  uint256 private a;\n}\n\ncontract StorageMockChainPrivateChildV1 is StorageMockChainPrivateBase  {\n}\n\ncontract StorageMockChainPrivateChildV2 is StorageMockChainPrivateBase {\n  uint256 private a;\n}\n",
  "sourcePath": "contracts/mocks/StorageMocksForComparison.sol",
  "sourceMap": "154:65:21:-:0;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "154:65:21:-:0;;;;;;;;;;;",
  "abi": [],
  "ast": {
    "absolutePath": "contracts/mocks/StorageMocksForComparison.sol",
    "exportedSymbols": {
      "StorageMockChainPrivateBase": [
        4936
      ],
      "StorageMockChainPrivateChildV1": [
        4939
      ],
      "StorageMockChainPrivateChildV2": [
        4944
      ],
      "StorageMockComplexOriginal": [
        4928
      ],
      "StorageMockComplexWithChangedVar": [
        4933
      ],
      "StorageMockEmpty": [
        4864
      ],
      "StorageMockSimpleChangedWithAppendedVar": [
        4923
      ],
      "StorageMockSimpleOriginal": [
        4869
      ],
      "StorageMockSimpleUnchanged": [
        4874
      ],
      "StorageMockSimpleWithAddedVar": [
        4881
      ],
      "StorageMockSimpleWithDeletedVar": [
        4908
      ],
      "StorageMockSimpleWithInsertedVar": [
        4888
      ],
      "StorageMockSimpleWithPoppedVar": [
        4911
      ],
      "StorageMockSimpleWithRenamedVar": [
        4900
      ],
      "StorageMockSimpleWithReplacedVar": [
        4916
      ],
      "StorageMockSimpleWithTypeChanged": [
        4905
      ],
      "StorageMockSimpleWithUnshiftedVar": [
        4895
      ]
    },
    "id": 4945,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4863,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4864,
        "linearizedBaseContracts": [
          4864
        ],
        "name": "StorageMockEmpty",
        "nodeType": "ContractDefinition",
        "nodes": [],
        "scope": 4945,
        "src": "57:29:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4869,
        "linearizedBaseContracts": [
          4869
        ],
        "name": "StorageMockSimpleOriginal",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4866,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4869,
            "src": "127:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4865,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "127:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4868,
            "mutability": "mutable",
            "name": "b",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4869,
            "src": "140:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4867,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "140:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "88:64:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4874,
        "linearizedBaseContracts": [
          4874
        ],
        "name": "StorageMockSimpleUnchanged",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4871,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4874,
            "src": "194:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4870,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "194:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4873,
            "mutability": "mutable",
            "name": "b",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4874,
            "src": "207:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4872,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "207:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "154:65:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4881,
        "linearizedBaseContracts": [
          4881
        ],
        "name": "StorageMockSimpleWithAddedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4876,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4881,
            "src": "264:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4875,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "264:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4878,
            "mutability": "mutable",
            "name": "b",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4881,
            "src": "277:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4877,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "277:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4880,
            "mutability": "mutable",
            "name": "c",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4881,
            "src": "290:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4879,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "290:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "221:81:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4888,
        "linearizedBaseContracts": [
          4888
        ],
        "name": "StorageMockSimpleWithInsertedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4883,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4888,
            "src": "350:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4882,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "350:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4885,
            "mutability": "mutable",
            "name": "c",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4888,
            "src": "363:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4884,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "363:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4887,
            "mutability": "mutable",
            "name": "b",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4888,
            "src": "376:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4886,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "376:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "304:84:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4895,
        "linearizedBaseContracts": [
          4895
        ],
        "name": "StorageMockSimpleWithUnshiftedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4890,
            "mutability": "mutable",
            "name": "c",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4895,
            "src": "437:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4889,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "437:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4892,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4895,
            "src": "450:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4891,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "450:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4894,
            "mutability": "mutable",
            "name": "b",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4895,
            "src": "463:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4893,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "463:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "390:85:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4900,
        "linearizedBaseContracts": [
          4900
        ],
        "name": "StorageMockSimpleWithRenamedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4897,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4900,
            "src": "522:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4896,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "522:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4899,
            "mutability": "mutable",
            "name": "c",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4900,
            "src": "535:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4898,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "535:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "477:70:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4905,
        "linearizedBaseContracts": [
          4905
        ],
        "name": "StorageMockSimpleWithTypeChanged",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4902,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4905,
            "src": "595:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4901,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "595:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4904,
            "mutability": "mutable",
            "name": "b",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4905,
            "src": "608:8:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 4903,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "608:6:21",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "549:70:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4908,
        "linearizedBaseContracts": [
          4908
        ],
        "name": "StorageMockSimpleWithDeletedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4907,
            "mutability": "mutable",
            "name": "b",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4908,
            "src": "666:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4906,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "666:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "621:57:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4911,
        "linearizedBaseContracts": [
          4911
        ],
        "name": "StorageMockSimpleWithPoppedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4910,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4911,
            "src": "724:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4909,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "724:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "680:56:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4916,
        "linearizedBaseContracts": [
          4916
        ],
        "name": "StorageMockSimpleWithReplacedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4913,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4916,
            "src": "784:9:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4912,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "784:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4915,
            "mutability": "mutable",
            "name": "c",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4916,
            "src": "797:8:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 4914,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "797:6:21",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "738:70:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4923,
        "linearizedBaseContracts": [
          4923
        ],
        "name": "StorageMockSimpleChangedWithAppendedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4918,
            "mutability": "mutable",
            "name": "a2",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4923,
            "src": "863:10:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4917,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "863:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4920,
            "mutability": "mutable",
            "name": "b2",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4923,
            "src": "877:10:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4919,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "877:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 4922,
            "mutability": "mutable",
            "name": "c2",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4923,
            "src": "891:10:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4921,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "891:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "810:94:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4928,
        "linearizedBaseContracts": [
          4928
        ],
        "name": "StorageMockComplexOriginal",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4927,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4928,
            "src": "946:29:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 4926,
              "keyType": {
                "id": 4924,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "954:7:21",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "946:27:21",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 4925,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "965:7:21",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "906:72:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4933,
        "linearizedBaseContracts": [
          4933
        ],
        "name": "StorageMockComplexWithChangedVar",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4932,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4933,
            "src": "1026:29:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
              "typeString": "mapping(address => address)"
            },
            "typeName": {
              "id": 4931,
              "keyType": {
                "id": 4929,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1034:7:21",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1026:27:21",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                "typeString": "mapping(address => address)"
              },
              "valueType": {
                "id": 4930,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1045:7:21",
                "stateMutability": "nonpayable",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          }
        ],
        "scope": 4945,
        "src": "980:78:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4936,
        "linearizedBaseContracts": [
          4936
        ],
        "name": "StorageMockChainPrivateBase",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4935,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4936,
            "src": "1101:17:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4934,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1101:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 4945,
        "src": "1060:61:21"
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 4937,
              "name": "StorageMockChainPrivateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4936,
              "src": "1166:27:21",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StorageMockChainPrivateBase_$4936",
                "typeString": "contract StorageMockChainPrivateBase"
              }
            },
            "id": 4938,
            "nodeType": "InheritanceSpecifier",
            "src": "1166:27:21"
          }
        ],
        "contractDependencies": [
          4936
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4939,
        "linearizedBaseContracts": [
          4939,
          4936
        ],
        "name": "StorageMockChainPrivateChildV1",
        "nodeType": "ContractDefinition",
        "nodes": [],
        "scope": 4945,
        "src": "1123:75:21"
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 4940,
              "name": "StorageMockChainPrivateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4936,
              "src": "1243:27:21",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_StorageMockChainPrivateBase_$4936",
                "typeString": "contract StorageMockChainPrivateBase"
              }
            },
            "id": 4941,
            "nodeType": "InheritanceSpecifier",
            "src": "1243:27:21"
          }
        ],
        "contractDependencies": [
          4936
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4944,
        "linearizedBaseContracts": [
          4944,
          4936
        ],
        "name": "StorageMockChainPrivateChildV2",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4943,
            "mutability": "mutable",
            "name": "a",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4944,
            "src": "1275:17:21",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4942,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1275:7:21",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 4945,
        "src": "1200:95:21"
      }
    ],
    "src": "0:1296:21"
  },
  "bytecode": "0x608060405234801560105760006000fd5b506015565b60488060226000396000f3fe608060405260043610600c575b60006000fdfea2646970667358221220a995416d4fd6f6ae0451c2b7b2c51b4fc9c9366f3d2f89ff44b0382b53b59d1e64736f6c634300060a0033",
  "deployedBytecode": "0x608060405260043610600c575b60006000fdfea2646970667358221220a995416d4fd6f6ae0451c2b7b2c51b4fc9c9366f3d2f89ff44b0382b53b59d1e64736f6c634300060a0033",
  "compiler": {
    "name": "solc",
    "version": "0.6.10+commit.00c0fcaf.Emscripten.clang",
    "optimizer": {},
    "evmVersion": "constantinople"
  }
}
