{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentArchived",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentPaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "componentName",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentResumed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateOld",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateNew",
          "type": "uint8"
        }
      ],
      "name": "LogComponentStateChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentSuspended",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentUnpaused",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "archiveFromComponentOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "archiveFromInstanceOperator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "components",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "decline",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "exists",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "getComponent",
      "outputs": [
        {
          "internalType": "contract IComponent",
          "name": "component",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        }
      ],
      "name": "getComponentId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "getComponentState",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentState",
          "name": "componentState",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "getComponentType",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getOracleId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "oracleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "productId",
          "type": "uint256"
        }
      ],
      "name": "getPolicyFlow",
      "outputs": [
        {
          "internalType": "address",
          "name": "_policyFlow",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getProductId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "productId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        }
      ],
      "name": "getRequiredRole",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getRiskpoolId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "registry",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "isOracle",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "isProduct",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "isRiskpool",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oracles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "pause",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "products",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IComponent",
          "name": "component",
          "type": "address"
        }
      ],
      "name": "propose",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "resume",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "riskpools",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "suspend",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "unpause",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol",
    "10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Address.sol",
    "11": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol",
    "16": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol",
    "18": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/ComponentController.sol",
    "22": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/shared/CoreController.sol",
    "27": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
    "29": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol",
    "33": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol",
    "35": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol",
    "38": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/ComponentController.sol",
    "exportedSymbols": {
      "Address": [
        24852
      ],
      "ComponentController": [
        18412
      ],
      "Context": [
        15648
      ],
      "CoreController": [
        21649
      ],
      "EnumerableSet": [
        10109
      ],
      "IAccess": [
        22927
      ],
      "IBundle": [
        13382
      ],
      "IComponent": [
        11675
      ],
      "IComponentEvents": [
        22980
      ],
      "IOracle": [
        23539
      ],
      "IPolicy": [
        12649
      ],
      "IProduct": [
        21878
      ],
      "IRegistry": [
        21976
      ],
      "IRiskpool": [
        14585
      ],
      "Initializable": [
        23690
      ]
    },
    "id": 18413,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 17414,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "40:22:18"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/shared/CoreController.sol",
        "file": "../shared/CoreController.sol",
        "id": 17415,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 18413,
        "sourceUnit": 21650,
        "src": "66:38:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
        "file": "@etherisc/gif-interface/contracts/components/IComponent.sol",
        "id": 17416,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 18413,
        "sourceUnit": 11676,
        "src": "106:69:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IOracle.sol",
        "file": "@etherisc/gif-interface/contracts/components/IOracle.sol",
        "id": 17417,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 18413,
        "sourceUnit": 23540,
        "src": "177:66:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol",
        "file": "@etherisc/gif-interface/contracts/components/IProduct.sol",
        "id": 17418,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 18413,
        "sourceUnit": 21879,
        "src": "245:67:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
        "file": "@etherisc/gif-interface/contracts/components/IRiskpool.sol",
        "id": 17419,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 18413,
        "sourceUnit": 14586,
        "src": "314:68:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol",
        "file": "@etherisc/gif-interface/contracts/modules/IComponentEvents.sol",
        "id": 17420,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 18413,
        "sourceUnit": 22981,
        "src": "384:72:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol",
        "file": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol",
        "id": 17421,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 18413,
        "sourceUnit": 10110,
        "src": "458:65:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 17422,
              "name": "IComponentEvents",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 22980,
              "src": "564:16:18"
            },
            "id": 17423,
            "nodeType": "InheritanceSpecifier",
            "src": "564:16:18"
          },
          {
            "baseName": {
              "id": 17424,
              "name": "CoreController",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 21649,
              "src": "587:14:18"
            },
            "id": 17425,
            "nodeType": "InheritanceSpecifier",
            "src": "587:14:18"
          }
        ],
        "contractDependencies": [
          15648,
          21649,
          22980,
          23690
        ],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 18412,
        "linearizedBaseContracts": [
          18412,
          21649,
          23690,
          15648,
          22980
        ],
        "name": "ComponentController",
        "nameLocation": "536:19:18",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 17429,
            "libraryName": {
              "id": 17426,
              "name": "EnumerableSet",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 10109,
              "src": "618:13:18"
            },
            "nodeType": "UsingForDirective",
            "src": "612:46:18",
            "typeName": {
              "id": 17428,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 17427,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 9979,
                "src": "636:21:18"
              },
              "referencedDeclaration": 9979,
              "src": "636:21:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$9979_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            }
          },
          {
            "constant": false,
            "id": 17434,
            "mutability": "mutable",
            "name": "_componentById",
            "nameLocation": "705:14:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "666:53:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$11675_$",
              "typeString": "mapping(uint256 => contract IComponent)"
            },
            "typeName": {
              "id": 17433,
              "keyType": {
                "id": 17430,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "674:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "666:30:18",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$11675_$",
                "typeString": "mapping(uint256 => contract IComponent)"
              },
              "valueType": {
                "id": 17432,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 17431,
                  "name": "IComponent",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11675,
                  "src": "685:10:18"
                },
                "referencedDeclaration": 11675,
                "src": "685:10:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_IComponent_$11675",
                  "typeString": "contract IComponent"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17438,
            "mutability": "mutable",
            "name": "_componentIdByName",
            "nameLocation": "762:18:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "726:54:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
              "typeString": "mapping(bytes32 => uint256)"
            },
            "typeName": {
              "id": 17437,
              "keyType": {
                "id": 17435,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "734:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "726:27:18",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
              },
              "valueType": {
                "id": 17436,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "745:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17442,
            "mutability": "mutable",
            "name": "_componentIdByAddress",
            "nameLocation": "823:21:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "787:57:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 17441,
              "keyType": {
                "id": 17439,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "795:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "787:27:18",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 17440,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "806:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17447,
            "mutability": "mutable",
            "name": "_componentState",
            "nameLocation": "907:15:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "853:69:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$11586_$",
              "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
            },
            "typeName": {
              "id": 17446,
              "keyType": {
                "id": 17443,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "861:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "853:45:18",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$11586_$",
                "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
              },
              "valueType": {
                "id": 17445,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 17444,
                  "name": "IComponent.ComponentState",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 11586,
                  "src": "872:25:18"
                },
                "referencedDeclaration": 11586,
                "src": "872:25:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ComponentState_$11586",
                  "typeString": "enum IComponent.ComponentState"
                }
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17450,
            "mutability": "mutable",
            "name": "_products",
            "nameLocation": "961:9:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "931:39:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_UintSet_$9979_storage",
              "typeString": "struct EnumerableSet.UintSet"
            },
            "typeName": {
              "id": 17449,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 17448,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 9979,
                "src": "931:21:18"
              },
              "referencedDeclaration": 9979,
              "src": "931:21:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$9979_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17453,
            "mutability": "mutable",
            "name": "_oracles",
            "nameLocation": "1007:8:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "977:38:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_UintSet_$9979_storage",
              "typeString": "struct EnumerableSet.UintSet"
            },
            "typeName": {
              "id": 17452,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 17451,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 9979,
                "src": "977:21:18"
              },
              "referencedDeclaration": 9979,
              "src": "977:21:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$9979_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17456,
            "mutability": "mutable",
            "name": "_riskpools",
            "nameLocation": "1052:10:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "1022:40:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_UintSet_$9979_storage",
              "typeString": "struct EnumerableSet.UintSet"
            },
            "typeName": {
              "id": 17455,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 17454,
                "name": "EnumerableSet.UintSet",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 9979,
                "src": "1022:21:18"
              },
              "referencedDeclaration": 9979,
              "src": "1022:21:18",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_UintSet_$9979_storage_ptr",
                "typeString": "struct EnumerableSet.UintSet"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17458,
            "mutability": "mutable",
            "name": "_componentCount",
            "nameLocation": "1085:15:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "1069:31:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 17457,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1069:7:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 17462,
            "mutability": "mutable",
            "name": "_policyFlowByProductId",
            "nameLocation": "1188:22:18",
            "nodeType": "VariableDeclaration",
            "scope": 18412,
            "src": "1109:101:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
              "typeString": "mapping(uint256 => address)"
            },
            "typeName": {
              "id": 17461,
              "keyType": {
                "id": 17459,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1117:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "1109:70:18",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
                "typeString": "mapping(uint256 => address)"
              },
              "valueType": {
                "id": 17460,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1145:7:18",
                "stateMutability": "nonpayable",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 17475,
              "nodeType": "Block",
              "src": "1256:172:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 17470,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 17465,
                            "name": "_msgSender",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15638,
                            "src": "1289:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                              "typeString": "function () view returns (address)"
                            }
                          },
                          "id": 17466,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1289:12:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "436f6d706f6e656e744f776e657253657276696365",
                              "id": 17468,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1325:23:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_95855e0e8f5cd64ffc781762663437a44ef7554eea00fdb413a3a655c097a675",
                                "typeString": "literal_string \"ComponentOwnerService\""
                              },
                              "value": "ComponentOwnerService"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_95855e0e8f5cd64ffc781762663437a44ef7554eea00fdb413a3a655c097a675",
                                "typeString": "literal_string \"ComponentOwnerService\""
                              }
                            ],
                            "id": 17467,
                            "name": "_getContractAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21648,
                            "src": "1305:19:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 17469,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1305:44:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1289:60:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030313a4e4f545f434f4d504f4e454e545f4f574e45525f53455256494345",
                        "id": 17471,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1364:43:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2b163f71e59f0a392de25481a553757716afafc14f2c0ddf4ef8779c20751707",
                          "typeString": "literal_string \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\""
                        },
                        "value": "ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2b163f71e59f0a392de25481a553757716afafc14f2c0ddf4ef8779c20751707",
                          "typeString": "literal_string \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\""
                        }
                      ],
                      "id": 17464,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1267:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 17472,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1267:141:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17473,
                  "nodeType": "ExpressionStatement",
                  "src": "1267:141:18"
                },
                {
                  "id": 17474,
                  "nodeType": "PlaceholderStatement",
                  "src": "1419:1:18"
                }
              ]
            },
            "id": 17476,
            "name": "onlyComponentOwnerService",
            "nameLocation": "1228:25:18",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 17463,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1253:2:18"
            },
            "src": "1219:209:18",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 17489,
              "nodeType": "Block",
              "src": "1475:176:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 17484,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 17479,
                            "name": "_msgSender",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15638,
                            "src": "1508:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                              "typeString": "function () view returns (address)"
                            }
                          },
                          "id": 17480,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1508:12:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "496e7374616e63654f70657261746f7253657276696365",
                              "id": 17482,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1544:25:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544",
                                "typeString": "literal_string \"InstanceOperatorService\""
                              },
                              "value": "InstanceOperatorService"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544",
                                "typeString": "literal_string \"InstanceOperatorService\""
                              }
                            ],
                            "id": 17481,
                            "name": "_getContractAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21648,
                            "src": "1524:19:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 17483,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1524:46:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1508:62:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030323a4e4f545f494e5354414e43455f4f50455241544f525f53455256494345",
                        "id": 17485,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1585:45:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_130007efea4d49cc157bd5faf2f1c80f98e50627fe669a9a215b28142c1ee23f",
                          "typeString": "literal_string \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\""
                        },
                        "value": "ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_130007efea4d49cc157bd5faf2f1c80f98e50627fe669a9a215b28142c1ee23f",
                          "typeString": "literal_string \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\""
                        }
                      ],
                      "id": 17478,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1486:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 17486,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1486:145:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17487,
                  "nodeType": "ExpressionStatement",
                  "src": "1486:145:18"
                },
                {
                  "id": 17488,
                  "nodeType": "PlaceholderStatement",
                  "src": "1642:1:18"
                }
              ]
            },
            "id": 17490,
            "name": "onlyInstanceOperatorService",
            "nameLocation": "1445:27:18",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 17477,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1472:2:18"
            },
            "src": "1436:215:18",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 17546,
              "nodeType": "Block",
              "src": "1758:667:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 17506,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "baseExpression": {
                            "id": 17499,
                            "name": "_componentIdByAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17442,
                            "src": "1806:21:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 17504,
                          "indexExpression": {
                            "arguments": [
                              {
                                "id": 17502,
                                "name": "component",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17493,
                                "src": "1836:9:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IComponent_$11675",
                                  "typeString": "contract IComponent"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IComponent_$11675",
                                  "typeString": "contract IComponent"
                                }
                              ],
                              "id": 17501,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1828:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 17500,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1828:7:18",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 17503,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1828:18:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1806:41:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 17505,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1851:1:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "1806:46:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030333a434f4d504f4e454e545f414c52454144595f455849535453",
                        "id": 17507,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1854:40:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5ae3a1e2de2af7e4b795f54ca41064c73c9d3d29ac084b6bc16d97b27e04e8c5",
                          "typeString": "literal_string \"ERROR:CCR-003:COMPONENT_ALREADY_EXISTS\""
                        },
                        "value": "ERROR:CCR-003:COMPONENT_ALREADY_EXISTS"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5ae3a1e2de2af7e4b795f54ca41064c73c9d3d29ac084b6bc16d97b27e04e8c5",
                          "typeString": "literal_string \"ERROR:CCR-003:COMPONENT_ALREADY_EXISTS\""
                        }
                      ],
                      "id": 17498,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1798:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 17508,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1798:97:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17509,
                  "nodeType": "ExpressionStatement",
                  "src": "1798:97:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 17517,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "baseExpression": {
                            "id": 17511,
                            "name": "_componentIdByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17438,
                            "src": "1914:18:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                              "typeString": "mapping(bytes32 => uint256)"
                            }
                          },
                          "id": 17515,
                          "indexExpression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 17512,
                                "name": "component",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17493,
                                "src": "1933:9:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IComponent_$11675",
                                  "typeString": "contract IComponent"
                                }
                              },
                              "id": 17513,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getName",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11607,
                              "src": "1933:17:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                                "typeString": "function () view external returns (bytes32)"
                              }
                            },
                            "id": 17514,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1933:19:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1914:39:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 17516,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1957:1:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "1914:44:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030343a434f4d504f4e454e545f4e414d455f414c52454144595f455849535453",
                        "id": 17518,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1960:45:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_db0e727d540281d778747629fde13ba11de87883dd7bb058b220298f1d595860",
                          "typeString": "literal_string \"ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS\""
                        },
                        "value": "ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_db0e727d540281d778747629fde13ba11de87883dd7bb058b220298f1d595860",
                          "typeString": "literal_string \"ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS\""
                        }
                      ],
                      "id": 17510,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1906:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 17519,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1906:100:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17520,
                  "nodeType": "ExpressionStatement",
                  "src": "1906:100:18"
                },
                {
                  "assignments": [
                    17522
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17522,
                      "mutability": "mutable",
                      "name": "id",
                      "nameLocation": "2077:2:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17546,
                      "src": "2069:10:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 17521,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2069:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17526,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17524,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17493,
                        "src": "2100:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      ],
                      "id": 17523,
                      "name": "_persistComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17635,
                      "src": "2082:17:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IComponent_$11675_$returns$_t_uint256_$",
                        "typeString": "function (contract IComponent) returns (uint256)"
                      }
                    },
                    "id": 17525,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2082:28:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2069:41:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 17528,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17493,
                            "src": "2209:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 17529,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getName",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11607,
                          "src": "2209:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 17530,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2209:19:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 17531,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17493,
                            "src": "2243:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 17532,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getType",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11618,
                          "src": "2243:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_ComponentType_$11578_$",
                            "typeString": "function () view external returns (enum IComponent.ComponentType)"
                          }
                        },
                        "id": 17533,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2243:19:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentType_$11578",
                          "typeString": "enum IComponent.ComponentType"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 17536,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17493,
                            "src": "2285:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          ],
                          "id": 17535,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2277:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 17534,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "2277:7:18",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 17537,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2277:18:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 17538,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17522,
                        "src": "2310:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentType_$11578",
                          "typeString": "enum IComponent.ComponentType"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17527,
                      "name": "LogComponentProposed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22941,
                      "src": "2174:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_enum$_ComponentType_$11578_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,enum IComponent.ComponentType,address,uint256)"
                      }
                    },
                    "id": 17539,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2174:139:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17540,
                  "nodeType": "EmitStatement",
                  "src": "2169:144:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17541,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17493,
                        "src": "2389:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17543,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "proposalCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11653,
                      "src": "2389:26:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17544,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2389:28:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17545,
                  "nodeType": "ExpressionStatement",
                  "src": "2389:28:18"
                }
              ]
            },
            "functionSelector": "01267951",
            "id": 17547,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17496,
                "modifierName": {
                  "id": 17495,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17476,
                  "src": "1726:25:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "1726:25:18"
              }
            ],
            "name": "propose",
            "nameLocation": "1668:7:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17494,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17493,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "1687:9:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17547,
                  "src": "1676:20:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$11675",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 17492,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 17491,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11675,
                      "src": "1676:10:18"
                    },
                    "referencedDeclaration": 11675,
                    "src": "1676:10:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1675:22:18"
            },
            "returnParameters": {
              "id": 17497,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1758:0:18"
            },
            "scope": 18412,
            "src": "1659:766:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17634,
              "nodeType": "Block",
              "src": "2535:704:18",
              "statements": [
                {
                  "expression": {
                    "id": 17556,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "++",
                    "prefix": false,
                    "src": "2582:17:18",
                    "subExpression": {
                      "id": 17555,
                      "name": "_componentCount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17458,
                      "src": "2582:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 17557,
                  "nodeType": "ExpressionStatement",
                  "src": "2582:17:18"
                },
                {
                  "expression": {
                    "id": 17560,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 17558,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17553,
                      "src": "2610:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 17559,
                      "name": "_componentCount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17458,
                      "src": "2615:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2610:20:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 17561,
                  "nodeType": "ExpressionStatement",
                  "src": "2610:20:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17563,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17553,
                        "src": "2691:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17564,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "2695:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17565,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "2695:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17566,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Proposed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11580,
                        "src": "2695:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17562,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "2678:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17567,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2678:52:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17568,
                  "nodeType": "ExpressionStatement",
                  "src": "2678:52:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17572,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17553,
                        "src": "2757:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 17569,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17550,
                        "src": "2741:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17571,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11602,
                      "src": "2741:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 17573,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2741:19:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17574,
                  "nodeType": "ExpressionStatement",
                  "src": "2741:19:18"
                },
                {
                  "expression": {
                    "id": 17579,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 17575,
                        "name": "_componentById",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17434,
                        "src": "2816:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$11675_$",
                          "typeString": "mapping(uint256 => contract IComponent)"
                        }
                      },
                      "id": 17577,
                      "indexExpression": {
                        "id": 17576,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17553,
                        "src": "2831:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2816:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 17578,
                      "name": "component",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17550,
                      "src": "2837:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      }
                    },
                    "src": "2816:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "id": 17580,
                  "nodeType": "ExpressionStatement",
                  "src": "2816:30:18"
                },
                {
                  "expression": {
                    "id": 17587,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 17581,
                        "name": "_componentIdByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17438,
                        "src": "2857:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 17585,
                      "indexExpression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 17582,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17550,
                            "src": "2876:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 17583,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getName",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11607,
                          "src": "2876:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 17584,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2876:19:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2857:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 17586,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17553,
                      "src": "2899:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2857:44:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 17588,
                  "nodeType": "ExpressionStatement",
                  "src": "2857:44:18"
                },
                {
                  "expression": {
                    "id": 17596,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 17589,
                        "name": "_componentIdByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17442,
                        "src": "2912:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 17594,
                      "indexExpression": {
                        "arguments": [
                          {
                            "id": 17592,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17550,
                            "src": "2942:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          ],
                          "id": 17591,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2934:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 17590,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "2934:7:18",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 17593,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2934:18:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2912:41:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 17595,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17553,
                      "src": "2956:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2912:46:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 17597,
                  "nodeType": "ExpressionStatement",
                  "src": "2912:46:18"
                },
                {
                  "condition": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17598,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17550,
                        "src": "3014:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17599,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "isProduct",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11634,
                      "src": "3014:19:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                        "typeString": "function () view external returns (bool)"
                      }
                    },
                    "id": 17600,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3014:21:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "id": 17609,
                          "name": "component",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17550,
                          "src": "3093:9:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IComponent_$11675",
                            "typeString": "contract IComponent"
                          }
                        },
                        "id": 17610,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "isOracle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11639,
                        "src": "3093:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                          "typeString": "function () view external returns (bool)"
                        }
                      },
                      "id": 17611,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3093:20:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 17620,
                            "name": "component",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17550,
                            "src": "3170:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IComponent_$11675",
                              "typeString": "contract IComponent"
                            }
                          },
                          "id": 17621,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isRiskpool",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11644,
                          "src": "3170:20:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                            "typeString": "function () view external returns (bool)"
                          }
                        },
                        "id": 17622,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3170:22:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 17631,
                      "nodeType": "IfStatement",
                      "src": "3166:66:18",
                      "trueBody": {
                        "id": 17630,
                        "nodeType": "Block",
                        "src": "3194:38:18",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 17626,
                                  "name": "_riskpools",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17456,
                                  "src": "3214:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                                    "typeString": "struct EnumerableSet.UintSet storage ref"
                                  }
                                },
                                {
                                  "id": 17627,
                                  "name": "id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17553,
                                  "src": "3226:2:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                                    "typeString": "struct EnumerableSet.UintSet storage ref"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "id": 17623,
                                  "name": "EnumerableSet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10109,
                                  "src": "3196:13:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                                    "typeString": "type(library EnumerableSet)"
                                  }
                                },
                                "id": 17625,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 10000,
                                "src": "3196:17:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                                  "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"
                                }
                              },
                              "id": 17628,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3196:33:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 17629,
                            "nodeType": "ExpressionStatement",
                            "src": "3196:33:18"
                          }
                        ]
                      }
                    },
                    "id": 17632,
                    "nodeType": "IfStatement",
                    "src": "3089:143:18",
                    "trueBody": {
                      "id": 17619,
                      "nodeType": "Block",
                      "src": "3115:36:18",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 17615,
                                "name": "_oracles",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17453,
                                "src": "3135:8:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                                  "typeString": "struct EnumerableSet.UintSet storage ref"
                                }
                              },
                              {
                                "id": 17616,
                                "name": "id",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17553,
                                "src": "3145:2:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                                  "typeString": "struct EnumerableSet.UintSet storage ref"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 17612,
                                "name": "EnumerableSet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10109,
                                "src": "3117:13:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                                  "typeString": "type(library EnumerableSet)"
                                }
                              },
                              "id": 17614,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "add",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 10000,
                              "src": "3117:17:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                                "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"
                              }
                            },
                            "id": 17617,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3117:31:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 17618,
                          "nodeType": "ExpressionStatement",
                          "src": "3117:31:18"
                        }
                      ]
                    }
                  },
                  "id": 17633,
                  "nodeType": "IfStatement",
                  "src": "3010:222:18",
                  "trueBody": {
                    "id": 17608,
                    "nodeType": "Block",
                    "src": "3037:37:18",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 17604,
                              "name": "_products",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17450,
                              "src": "3057:9:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                                "typeString": "struct EnumerableSet.UintSet storage ref"
                              }
                            },
                            {
                              "id": 17605,
                              "name": "id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17553,
                              "src": "3068:2:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                                "typeString": "struct EnumerableSet.UintSet storage ref"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 17601,
                              "name": "EnumerableSet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10109,
                              "src": "3039:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                                "typeString": "type(library EnumerableSet)"
                              }
                            },
                            "id": 17603,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 10000,
                            "src": "3039:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"
                            }
                          },
                          "id": 17606,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3039:32:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 17607,
                        "nodeType": "ExpressionStatement",
                        "src": "3039:32:18"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 17635,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_persistComponent",
            "nameLocation": "2442:17:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17551,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17550,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "2471:9:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17635,
                  "src": "2460:20:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$11675",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 17549,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 17548,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11675,
                      "src": "2460:10:18"
                    },
                    "referencedDeclaration": 11675,
                    "src": "2460:10:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2459:22:18"
            },
            "returnParameters": {
              "id": 17554,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17553,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "2526:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17635,
                  "src": "2518:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17552,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2518:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2517:12:18"
            },
            "scope": 18412,
            "src": "2433:806:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 17660,
              "nodeType": "Block",
              "src": "3301:112:18",
              "statements": [
                {
                  "assignments": [
                    17644
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17644,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "3323:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17660,
                      "src": "3312:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17643,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17642,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "3312:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "3312:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17648,
                  "initialValue": {
                    "baseExpression": {
                      "id": 17645,
                      "name": "_componentById",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17434,
                      "src": "3335:14:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$11675_$",
                        "typeString": "mapping(uint256 => contract IComponent)"
                      }
                    },
                    "id": 17647,
                    "indexExpression": {
                      "id": 17646,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17637,
                      "src": "3350:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3335:18:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3312:41:18"
                },
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 17657,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 17651,
                              "name": "component",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17644,
                              "src": "3380:9:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IComponent_$11675",
                                "typeString": "contract IComponent"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IComponent_$11675",
                                "typeString": "contract IComponent"
                              }
                            ],
                            "id": 17650,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "3372:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 17649,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "3372:7:18",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 17652,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3372:18:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 17655,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3402:1:18",
                              "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": 17654,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "3394:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 17653,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "3394:7:18",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 17656,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3394:10:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "3372:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 17658,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "3371:34:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 17641,
                  "id": 17659,
                  "nodeType": "Return",
                  "src": "3364:41:18"
                }
              ]
            },
            "functionSelector": "4f558e79",
            "id": 17661,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "exists",
            "nameLocation": "3256:6:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17637,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "3271:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17661,
                  "src": "3263:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17636,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3263:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3262:12:18"
            },
            "returnParameters": {
              "id": 17641,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17640,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 17661,
                  "src": "3295:4:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 17639,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3295:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3294:6:18"
            },
            "scope": 18412,
            "src": "3247:166:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 17709,
              "nodeType": "Block",
              "src": "3512:396:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17669,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17663,
                        "src": "3536:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17670,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "3540:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17671,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "3540:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17672,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Active",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11582,
                        "src": "3540:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17668,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "3523:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17673,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3523:50:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17674,
                  "nodeType": "ExpressionStatement",
                  "src": "3523:50:18"
                },
                {
                  "assignments": [
                    17677
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17677,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "3595:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17709,
                      "src": "3584:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17676,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17675,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "3584:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "3584:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17681,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17679,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17663,
                        "src": "3620:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17678,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "3607:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3607:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3584:39:18"
                },
                {
                  "condition": {
                    "arguments": [
                      {
                        "id": 17683,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17663,
                        "src": "3650:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17682,
                      "name": "isProduct",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18190,
                      "src": "3640:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (uint256) view returns (bool)"
                      }
                    },
                    "id": 17684,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3640:13:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 17699,
                  "nodeType": "IfStatement",
                  "src": "3636:119:18",
                  "trueBody": {
                    "id": 17698,
                    "nodeType": "Block",
                    "src": "3655:100:18",
                    "statements": [
                      {
                        "expression": {
                          "id": 17696,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 17685,
                              "name": "_policyFlowByProductId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17462,
                              "src": "3670:22:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
                                "typeString": "mapping(uint256 => address)"
                              }
                            },
                            "id": 17687,
                            "indexExpression": {
                              "id": 17686,
                              "name": "id",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17663,
                              "src": "3693:2:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3670:26:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "id": 17691,
                                        "name": "component",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 17677,
                                        "src": "3716:9:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IComponent_$11675",
                                          "typeString": "contract IComponent"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_IComponent_$11675",
                                          "typeString": "contract IComponent"
                                        }
                                      ],
                                      "id": 17690,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "3708:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 17689,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3708:7:18",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 17692,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3708:18:18",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "id": 17688,
                                  "name": "IProduct",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21878,
                                  "src": "3699:8:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IProduct_$21878_$",
                                    "typeString": "type(contract IProduct)"
                                  }
                                },
                                "id": 17693,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3699:28:18",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IProduct_$21878",
                                  "typeString": "contract IProduct"
                                }
                              },
                              "id": 17694,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getPolicyFlow",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 21852,
                              "src": "3699:42:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                "typeString": "function () view external returns (address)"
                              }
                            },
                            "id": 17695,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3699:44:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3670:73:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 17697,
                        "nodeType": "ExpressionStatement",
                        "src": "3670:73:18"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17701,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17663,
                        "src": "3793:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17700,
                      "name": "LogComponentApproved",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22945,
                      "src": "3772:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17702,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3772:24:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17703,
                  "nodeType": "EmitStatement",
                  "src": "3767:29:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17704,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17677,
                        "src": "3872:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17706,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "approvalCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11656,
                      "src": "3872:26:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17707,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3872:28:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17708,
                  "nodeType": "ExpressionStatement",
                  "src": "3872:28:18"
                }
              ]
            },
            "functionSelector": "b759f954",
            "id": 17710,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17666,
                "modifierName": {
                  "id": 17665,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17490,
                  "src": "3478:27:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "3478:27:18"
              }
            ],
            "name": "approve",
            "nameLocation": "3430:7:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17664,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17663,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "3446:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17710,
                  "src": "3438:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17662,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3438:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3437:12:18"
            },
            "returnParameters": {
              "id": 17667,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3512:0:18"
            },
            "scope": 18412,
            "src": "3421:487:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17740,
              "nodeType": "Block",
              "src": "4007:252:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17718,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17712,
                        "src": "4031:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17719,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "4035:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17720,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "4035:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17721,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Declined",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11581,
                        "src": "4035:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17717,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "4018:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17722,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4018:52:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17723,
                  "nodeType": "ExpressionStatement",
                  "src": "4018:52:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17725,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17712,
                        "src": "4107:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17724,
                      "name": "LogComponentDeclined",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22949,
                      "src": "4086:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4086:24:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17727,
                  "nodeType": "EmitStatement",
                  "src": "4081:29:18"
                },
                {
                  "assignments": [
                    17730
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17730,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "4185:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17740,
                      "src": "4174:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17729,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17728,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "4174:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "4174:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17734,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17732,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17712,
                        "src": "4210:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17731,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "4197:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17733,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4197:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4174:39:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17735,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17730,
                        "src": "4224:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17737,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "declineCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11659,
                      "src": "4224:25:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4224:27:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17739,
                  "nodeType": "ExpressionStatement",
                  "src": "4224:27:18"
                }
              ]
            },
            "functionSelector": "a0355f4e",
            "id": 17741,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17715,
                "modifierName": {
                  "id": 17714,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17490,
                  "src": "3973:27:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "3973:27:18"
              }
            ],
            "name": "decline",
            "nameLocation": "3925:7:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17713,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17712,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "3941:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17741,
                  "src": "3933:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17711,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3933:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3932:12:18"
            },
            "returnParameters": {
              "id": 17716,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4007:0:18"
            },
            "scope": 18412,
            "src": "3916:343:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17771,
              "nodeType": "Block",
              "src": "4359:257:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17749,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17743,
                        "src": "4383:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17750,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "4387:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17751,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "4387:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17752,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Suspended",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11584,
                        "src": "4387:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17748,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "4370:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17753,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4370:53:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17754,
                  "nodeType": "ExpressionStatement",
                  "src": "4370:53:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17756,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17743,
                        "src": "4461:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17755,
                      "name": "LogComponentSuspended",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22953,
                      "src": "4439:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17757,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4439:25:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17758,
                  "nodeType": "EmitStatement",
                  "src": "4434:30:18"
                },
                {
                  "assignments": [
                    17761
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17761,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "4542:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17771,
                      "src": "4531:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17760,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17759,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "4531:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "4531:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17765,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17763,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17743,
                        "src": "4567:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17762,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "4554:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17764,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4554:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4531:39:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17766,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17761,
                        "src": "4581:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17768,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "suspendCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11662,
                      "src": "4581:25:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4581:27:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17770,
                  "nodeType": "ExpressionStatement",
                  "src": "4581:27:18"
                }
              ]
            },
            "functionSelector": "4b865846",
            "id": 17772,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17746,
                "modifierName": {
                  "id": 17745,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17490,
                  "src": "4325:27:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "4325:27:18"
              }
            ],
            "name": "suspend",
            "nameLocation": "4276:7:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17744,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17743,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "4292:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17772,
                  "src": "4284:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17742,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4284:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4283:12:18"
            },
            "returnParameters": {
              "id": 17747,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4359:0:18"
            },
            "scope": 18412,
            "src": "4267:349:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17802,
              "nodeType": "Block",
              "src": "4715:249:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17780,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17774,
                        "src": "4739:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17781,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "4743:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17782,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "4743:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17783,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Active",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11582,
                        "src": "4743:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17779,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "4726:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17784,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4726:50:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17785,
                  "nodeType": "ExpressionStatement",
                  "src": "4726:50:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17787,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17774,
                        "src": "4812:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17786,
                      "name": "LogComponentResumed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22957,
                      "src": "4792:19:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17788,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4792:23:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17789,
                  "nodeType": "EmitStatement",
                  "src": "4787:28:18"
                },
                {
                  "assignments": [
                    17792
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17792,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "4891:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17802,
                      "src": "4880:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17791,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17790,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "4880:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "4880:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17796,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17794,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17774,
                        "src": "4916:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17793,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "4903:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17795,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4903:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4880:39:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17797,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17792,
                        "src": "4930:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17799,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "resumeCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11665,
                      "src": "4930:24:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17800,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4930:26:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17801,
                  "nodeType": "ExpressionStatement",
                  "src": "4930:26:18"
                }
              ]
            },
            "functionSelector": "414000b5",
            "id": 17803,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17777,
                "modifierName": {
                  "id": 17776,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17490,
                  "src": "4681:27:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "4681:27:18"
              }
            ],
            "name": "resume",
            "nameLocation": "4633:6:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17775,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17774,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "4648:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17803,
                  "src": "4640:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17773,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4640:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4639:12:18"
            },
            "returnParameters": {
              "id": 17778,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4715:0:18"
            },
            "scope": 18412,
            "src": "4624:340:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17833,
              "nodeType": "Block",
              "src": "5060:246:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17811,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17805,
                        "src": "5084:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17812,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "5088:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17813,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "5088:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17814,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Paused",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11583,
                        "src": "5088:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17810,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "5071:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17815,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5071:50:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17816,
                  "nodeType": "ExpressionStatement",
                  "src": "5071:50:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17818,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17805,
                        "src": "5156:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17817,
                      "name": "LogComponentPaused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22961,
                      "src": "5137:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5137:22:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17820,
                  "nodeType": "EmitStatement",
                  "src": "5132:27:18"
                },
                {
                  "assignments": [
                    17823
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17823,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "5234:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17833,
                      "src": "5223:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17822,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17821,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "5223:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "5223:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17827,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17825,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17805,
                        "src": "5259:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17824,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "5246:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5246:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5223:39:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17828,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17823,
                        "src": "5273:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17830,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pauseCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11668,
                      "src": "5273:23:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17831,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5273:25:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17832,
                  "nodeType": "ExpressionStatement",
                  "src": "5273:25:18"
                }
              ]
            },
            "functionSelector": "136439dd",
            "id": 17834,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17808,
                "modifierName": {
                  "id": 17807,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17476,
                  "src": "5028:25:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "5028:25:18"
              }
            ],
            "name": "pause",
            "nameLocation": "4981:5:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17806,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17805,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "4995:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17834,
                  "src": "4987:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17804,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4987:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4986:12:18"
            },
            "returnParameters": {
              "id": 17809,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5060:0:18"
            },
            "scope": 18412,
            "src": "4972:334:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17864,
              "nodeType": "Block",
              "src": "5404:252:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17842,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17836,
                        "src": "5428:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17843,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "5432:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17844,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "5432:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17845,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Active",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11582,
                        "src": "5432:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17841,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "5415:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17846,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5415:50:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17847,
                  "nodeType": "ExpressionStatement",
                  "src": "5415:50:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17849,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17836,
                        "src": "5502:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17848,
                      "name": "LogComponentUnpaused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22965,
                      "src": "5481:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17850,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5481:24:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17851,
                  "nodeType": "EmitStatement",
                  "src": "5476:29:18"
                },
                {
                  "assignments": [
                    17854
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17854,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "5582:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17864,
                      "src": "5571:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17853,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17852,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "5571:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "5571:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17858,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17856,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17836,
                        "src": "5607:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17855,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "5594:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17857,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5594:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5571:39:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17859,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17854,
                        "src": "5621:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17861,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "unpauseCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11671,
                      "src": "5621:25:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17862,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5621:27:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17863,
                  "nodeType": "ExpressionStatement",
                  "src": "5621:27:18"
                }
              ]
            },
            "functionSelector": "fabc1cbc",
            "id": 17865,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17839,
                "modifierName": {
                  "id": 17838,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17476,
                  "src": "5372:25:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "5372:25:18"
              }
            ],
            "name": "unpause",
            "nameLocation": "5323:7:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17837,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17836,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "5339:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17865,
                  "src": "5331:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17835,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5331:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5330:12:18"
            },
            "returnParameters": {
              "id": 17840,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5404:0:18"
            },
            "scope": 18412,
            "src": "5314:342:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17895,
              "nodeType": "Block",
              "src": "5772:254:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17873,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17867,
                        "src": "5796:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17874,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "5800:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17875,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "5800:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17876,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Archived",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11585,
                        "src": "5800:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17872,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "5783:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17877,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5783:52:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17878,
                  "nodeType": "ExpressionStatement",
                  "src": "5783:52:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17880,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17867,
                        "src": "5872:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17879,
                      "name": "LogComponentArchived",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22969,
                      "src": "5851:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17881,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5851:24:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17882,
                  "nodeType": "EmitStatement",
                  "src": "5846:29:18"
                },
                {
                  "assignments": [
                    17885
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17885,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "5952:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17895,
                      "src": "5941:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17884,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17883,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "5941:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "5941:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17889,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17887,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17867,
                        "src": "5977:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17886,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "5964:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17888,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5964:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5941:39:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17890,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17885,
                        "src": "5991:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17892,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "archiveCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11674,
                      "src": "5991:25:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17893,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5991:27:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17894,
                  "nodeType": "ExpressionStatement",
                  "src": "5991:27:18"
                }
              ]
            },
            "functionSelector": "6bc607b3",
            "id": 17896,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17870,
                "modifierName": {
                  "id": 17869,
                  "name": "onlyComponentOwnerService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17476,
                  "src": "5740:25:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "5740:25:18"
              }
            ],
            "name": "archiveFromComponentOwner",
            "nameLocation": "5673:25:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17868,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17867,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "5707:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17896,
                  "src": "5699:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17866,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5699:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5698:12:18"
            },
            "returnParameters": {
              "id": 17871,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5772:0:18"
            },
            "scope": 18412,
            "src": "5664:362:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17926,
              "nodeType": "Block",
              "src": "6146:254:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17904,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17898,
                        "src": "6170:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "expression": {
                            "id": 17905,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "6174:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 17906,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "6174:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 17907,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Archived",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11585,
                        "src": "6174:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 17903,
                      "name": "_changeState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18274,
                      "src": "6157:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 17908,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6157:52:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17909,
                  "nodeType": "ExpressionStatement",
                  "src": "6157:52:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 17911,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17898,
                        "src": "6246:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17910,
                      "name": "LogComponentArchived",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22969,
                      "src": "6225:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 17912,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6225:24:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17913,
                  "nodeType": "EmitStatement",
                  "src": "6220:29:18"
                },
                {
                  "assignments": [
                    17916
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 17916,
                      "mutability": "mutable",
                      "name": "component",
                      "nameLocation": "6326:9:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 17926,
                      "src": "6315:20:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      },
                      "typeName": {
                        "id": 17915,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 17914,
                          "name": "IComponent",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11675,
                          "src": "6315:10:18"
                        },
                        "referencedDeclaration": 11675,
                        "src": "6315:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 17920,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 17918,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17898,
                        "src": "6351:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 17917,
                      "name": "getComponent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17955,
                      "src": "6338:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_contract$_IComponent_$11675_$",
                        "typeString": "function (uint256) view returns (contract IComponent)"
                      }
                    },
                    "id": 17919,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6338:16:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6315:39:18"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 17921,
                        "name": "component",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17916,
                        "src": "6365:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IComponent_$11675",
                          "typeString": "contract IComponent"
                        }
                      },
                      "id": 17923,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "archiveCallback",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11674,
                      "src": "6365:25:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 17924,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6365:27:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17925,
                  "nodeType": "ExpressionStatement",
                  "src": "6365:27:18"
                }
              ]
            },
            "functionSelector": "0f5da3a6",
            "id": 17927,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 17901,
                "modifierName": {
                  "id": 17900,
                  "name": "onlyInstanceOperatorService",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 17490,
                  "src": "6112:27:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "6112:27:18"
              }
            ],
            "name": "archiveFromInstanceOperator",
            "nameLocation": "6043:27:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17899,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17898,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "6079:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17927,
                  "src": "6071:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17897,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6071:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6070:12:18"
            },
            "returnParameters": {
              "id": 17902,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6146:0:18"
            },
            "scope": 18412,
            "src": "6034:366:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 17954,
              "nodeType": "Block",
              "src": "6485:139:18",
              "statements": [
                {
                  "expression": {
                    "id": 17939,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 17935,
                      "name": "component",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17933,
                      "src": "6496:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 17936,
                        "name": "_componentById",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17434,
                        "src": "6508:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$11675_$",
                          "typeString": "mapping(uint256 => contract IComponent)"
                        }
                      },
                      "id": 17938,
                      "indexExpression": {
                        "id": 17937,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17929,
                        "src": "6523:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6508:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IComponent_$11675",
                        "typeString": "contract IComponent"
                      }
                    },
                    "src": "6496:30:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "id": 17940,
                  "nodeType": "ExpressionStatement",
                  "src": "6496:30:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 17950,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 17944,
                              "name": "component",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17933,
                              "src": "6553:9:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IComponent_$11675",
                                "typeString": "contract IComponent"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IComponent_$11675",
                                "typeString": "contract IComponent"
                              }
                            ],
                            "id": 17943,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6545:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 17942,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "6545:7:18",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 17945,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6545:18:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 17948,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6575:1:18",
                              "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": 17947,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6567:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 17946,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "6567:7:18",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 17949,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6567:10:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "6545:32:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030353a494e56414c49445f434f4d504f4e454e545f4944",
                        "id": 17951,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6579:36:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ca1c305a0e9af3ea3550a0a1227e5f520650593127153fff20641c9f0d853894",
                          "typeString": "literal_string \"ERROR:CCR-005:INVALID_COMPONENT_ID\""
                        },
                        "value": "ERROR:CCR-005:INVALID_COMPONENT_ID"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ca1c305a0e9af3ea3550a0a1227e5f520650593127153fff20641c9f0d853894",
                          "typeString": "literal_string \"ERROR:CCR-005:INVALID_COMPONENT_ID\""
                        }
                      ],
                      "id": 17941,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "6537:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 17952,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6537:79:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17953,
                  "nodeType": "ExpressionStatement",
                  "src": "6537:79:18"
                }
              ]
            },
            "functionSelector": "4f27da18",
            "id": 17955,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponent",
            "nameLocation": "6417:12:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17930,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17929,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "6438:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17955,
                  "src": "6430:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17928,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6430:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6429:12:18"
            },
            "returnParameters": {
              "id": 17934,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17933,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "6474:9:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17955,
                  "src": "6463:20:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$11675",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 17932,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 17931,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11675,
                      "src": "6463:10:18"
                    },
                    "referencedDeclaration": 11675,
                    "src": "6463:10:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6462:22:18"
            },
            "scope": 18412,
            "src": "6408:216:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 17985,
              "nodeType": "Block",
              "src": "6715:216:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 17968,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 17963,
                          "name": "componentAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17957,
                          "src": "6734:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 17966,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6762:1:18",
                              "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": 17965,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6754:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 17964,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "6754:7:18",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 17967,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6754:10:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "6734:30:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030363a434f4d504f4e454e545f414444524553535f5a45524f",
                        "id": 17969,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6766:38:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_349494011e9b14ad7882b684a4d52f7565404f3853de6409d514462bbbb08f64",
                          "typeString": "literal_string \"ERROR:CCR-006:COMPONENT_ADDRESS_ZERO\""
                        },
                        "value": "ERROR:CCR-006:COMPONENT_ADDRESS_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_349494011e9b14ad7882b684a4d52f7565404f3853de6409d514462bbbb08f64",
                          "typeString": "literal_string \"ERROR:CCR-006:COMPONENT_ADDRESS_ZERO\""
                        }
                      ],
                      "id": 17962,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "6726:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 17970,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6726:79:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17971,
                  "nodeType": "ExpressionStatement",
                  "src": "6726:79:18"
                },
                {
                  "expression": {
                    "id": 17976,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 17972,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17960,
                      "src": "6816:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 17973,
                        "name": "_componentIdByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17442,
                        "src": "6821:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 17975,
                      "indexExpression": {
                        "id": 17974,
                        "name": "componentAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17957,
                        "src": "6843:16:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6821:39:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6816:44:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 17977,
                  "nodeType": "ExpressionStatement",
                  "src": "6816:44:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 17981,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 17979,
                          "name": "id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17960,
                          "src": "6881:2:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 17980,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6886:1:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "6881:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3030373a434f4d504f4e454e545f554e4b4e4f574e",
                        "id": 17982,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6889:33:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5aa9184ead1177203c54428ab95078928f4521a9c578f8772ed90c5ea1b644ac",
                          "typeString": "literal_string \"ERROR:CCR-007:COMPONENT_UNKNOWN\""
                        },
                        "value": "ERROR:CCR-007:COMPONENT_UNKNOWN"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5aa9184ead1177203c54428ab95078928f4521a9c578f8772ed90c5ea1b644ac",
                          "typeString": "literal_string \"ERROR:CCR-007:COMPONENT_UNKNOWN\""
                        }
                      ],
                      "id": 17978,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "6873:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 17983,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6873:50:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 17984,
                  "nodeType": "ExpressionStatement",
                  "src": "6873:50:18"
                }
              ]
            },
            "functionSelector": "2b1c7f73",
            "id": 17986,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentId",
            "nameLocation": "6641:14:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17958,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17957,
                  "mutability": "mutable",
                  "name": "componentAddress",
                  "nameLocation": "6664:16:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17986,
                  "src": "6656:24:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 17956,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6656:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6655:26:18"
            },
            "returnParameters": {
              "id": 17961,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17960,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "6711:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 17986,
                  "src": "6703:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17959,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6703:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6702:12:18"
            },
            "scope": 18412,
            "src": "6632:299:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18032,
              "nodeType": "Block",
              "src": "7038:434:18",
              "statements": [
                {
                  "condition": {
                    "arguments": [
                      {
                        "id": 17996,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17450,
                        "src": "7076:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 17997,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17988,
                        "src": "7087:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 17994,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "7053:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 17995,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10042,
                      "src": "7053:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 17998,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7053:37:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "arguments": [
                        {
                          "id": 18006,
                          "name": "_oracles",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17453,
                          "src": "7191:8:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                            "typeString": "struct EnumerableSet.UintSet storage ref"
                          }
                        },
                        {
                          "id": 18007,
                          "name": "id",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17988,
                          "src": "7201:2:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                            "typeString": "struct EnumerableSet.UintSet storage ref"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 18004,
                          "name": "EnumerableSet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10109,
                          "src": "7168:13:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                            "typeString": "type(library EnumerableSet)"
                          }
                        },
                        "id": 18005,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "contains",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10042,
                        "src": "7168:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                          "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                        }
                      },
                      "id": 18008,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "7168:36:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "arguments": [
                          {
                            "id": 18016,
                            "name": "_riskpools",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17456,
                            "src": "7304:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                              "typeString": "struct EnumerableSet.UintSet storage ref"
                            }
                          },
                          {
                            "id": 18017,
                            "name": "id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17988,
                            "src": "7316:2:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                              "typeString": "struct EnumerableSet.UintSet storage ref"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 18014,
                            "name": "EnumerableSet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10109,
                            "src": "7281:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                              "typeString": "type(library EnumerableSet)"
                            }
                          },
                          "id": 18015,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "contains",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10042,
                          "src": "7281:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                          }
                        },
                        "id": 18018,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7281:38:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 18028,
                        "nodeType": "Block",
                        "src": "7394:71:18",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "4552524f523a4343522d3030383a494e56414c49445f434f4d504f4e454e545f4944",
                                  "id": 18025,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "7416:36:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_67050a9f7590899f726ff1d1acfe3fa473b09c82fe38e2fb1e74ce440fa5d62b",
                                    "typeString": "literal_string \"ERROR:CCR-008:INVALID_COMPONENT_ID\""
                                  },
                                  "value": "ERROR:CCR-008:INVALID_COMPONENT_ID"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_67050a9f7590899f726ff1d1acfe3fa473b09c82fe38e2fb1e74ce440fa5d62b",
                                    "typeString": "literal_string \"ERROR:CCR-008:INVALID_COMPONENT_ID\""
                                  }
                                ],
                                "id": 18024,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  -19,
                                  -19
                                ],
                                "referencedDeclaration": -19,
                                "src": "7409:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 18026,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "7409:44:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 18027,
                            "nodeType": "ExpressionStatement",
                            "src": "7409:44:18"
                          }
                        ]
                      },
                      "id": 18029,
                      "nodeType": "IfStatement",
                      "src": "7277:188:18",
                      "trueBody": {
                        "id": 18023,
                        "nodeType": "Block",
                        "src": "7321:67:18",
                        "statements": [
                          {
                            "expression": {
                              "expression": {
                                "expression": {
                                  "id": 18019,
                                  "name": "IComponent",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 11675,
                                  "src": "7343:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                    "typeString": "type(contract IComponent)"
                                  }
                                },
                                "id": 18020,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ComponentType",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 11578,
                                "src": "7343:24:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ComponentType_$11578_$",
                                  "typeString": "type(enum IComponent.ComponentType)"
                                }
                              },
                              "id": 18021,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Riskpool",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11577,
                              "src": "7343:33:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ComponentType_$11578",
                                "typeString": "enum IComponent.ComponentType"
                              }
                            },
                            "functionReturnParameters": 17993,
                            "id": 18022,
                            "nodeType": "Return",
                            "src": "7336:40:18"
                          }
                        ]
                      }
                    },
                    "id": 18030,
                    "nodeType": "IfStatement",
                    "src": "7164:301:18",
                    "trueBody": {
                      "id": 18013,
                      "nodeType": "Block",
                      "src": "7206:65:18",
                      "statements": [
                        {
                          "expression": {
                            "expression": {
                              "expression": {
                                "id": 18009,
                                "name": "IComponent",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11675,
                                "src": "7228:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                  "typeString": "type(contract IComponent)"
                                }
                              },
                              "id": 18010,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "ComponentType",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11578,
                              "src": "7228:24:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ComponentType_$11578_$",
                                "typeString": "type(enum IComponent.ComponentType)"
                              }
                            },
                            "id": 18011,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Oracle",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 11575,
                            "src": "7228:31:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ComponentType_$11578",
                              "typeString": "enum IComponent.ComponentType"
                            }
                          },
                          "functionReturnParameters": 17993,
                          "id": 18012,
                          "nodeType": "Return",
                          "src": "7221:38:18"
                        }
                      ]
                    }
                  },
                  "id": 18031,
                  "nodeType": "IfStatement",
                  "src": "7049:416:18",
                  "trueBody": {
                    "id": 18003,
                    "nodeType": "Block",
                    "src": "7092:66:18",
                    "statements": [
                      {
                        "expression": {
                          "expression": {
                            "expression": {
                              "id": 17999,
                              "name": "IComponent",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11675,
                              "src": "7114:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                "typeString": "type(contract IComponent)"
                              }
                            },
                            "id": 18000,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "ComponentType",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 11578,
                            "src": "7114:24:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ComponentType_$11578_$",
                              "typeString": "type(enum IComponent.ComponentType)"
                            }
                          },
                          "id": 18001,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "Product",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11576,
                          "src": "7114:32:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentType_$11578",
                            "typeString": "enum IComponent.ComponentType"
                          }
                        },
                        "functionReturnParameters": 17993,
                        "id": 18002,
                        "nodeType": "Return",
                        "src": "7107:39:18"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "dd51c86a",
            "id": 18033,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentType",
            "nameLocation": "6948:16:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17989,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17988,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "6973:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18033,
                  "src": "6965:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17987,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6965:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6964:12:18"
            },
            "returnParameters": {
              "id": 17993,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17992,
                  "mutability": "mutable",
                  "name": "componentType",
                  "nameLocation": "7023:13:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18033,
                  "src": "6998:38:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentType_$11578",
                    "typeString": "enum IComponent.ComponentType"
                  },
                  "typeName": {
                    "id": 17991,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 17990,
                      "name": "IComponent.ComponentType",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11578,
                      "src": "6998:24:18"
                    },
                    "referencedDeclaration": 11578,
                    "src": "6998:24:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentType_$11578",
                      "typeString": "enum IComponent.ComponentType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6997:40:18"
            },
            "scope": 18412,
            "src": "6939:533:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18045,
              "nodeType": "Block",
              "src": "7582:45:18",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "id": 18041,
                      "name": "_componentState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17447,
                      "src": "7600:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$11586_$",
                        "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
                      }
                    },
                    "id": 18043,
                    "indexExpression": {
                      "id": 18042,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18035,
                      "src": "7616:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "7600:19:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "functionReturnParameters": 18040,
                  "id": 18044,
                  "nodeType": "Return",
                  "src": "7593:26:18"
                }
              ]
            },
            "functionSelector": "5e966e45",
            "id": 18046,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentState",
            "nameLocation": "7489:17:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18036,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18035,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "7515:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18046,
                  "src": "7507:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18034,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7507:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7506:12:18"
            },
            "returnParameters": {
              "id": 18040,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18039,
                  "mutability": "mutable",
                  "name": "componentState",
                  "nameLocation": "7566:14:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18046,
                  "src": "7540:40:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$11586",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 18038,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 18037,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11586,
                      "src": "7540:25:18"
                    },
                    "referencedDeclaration": 11586,
                    "src": "7540:25:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7539:42:18"
            },
            "scope": 18412,
            "src": "7480:147:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18059,
              "nodeType": "Block",
              "src": "7708:57:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18055,
                        "name": "_oracles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17453,
                        "src": "7743:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 18056,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18048,
                        "src": "7753:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 18053,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "7726:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18054,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "at",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10078,
                      "src": "7726:16:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)"
                      }
                    },
                    "id": 18057,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7726:31:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 18052,
                  "id": 18058,
                  "nodeType": "Return",
                  "src": "7719:38:18"
                }
              ]
            },
            "functionSelector": "a5c0f5a1",
            "id": 18060,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getOracleId",
            "nameLocation": "7644:11:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18049,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18048,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "7664:3:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18060,
                  "src": "7656:11:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18047,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7656:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7655:13:18"
            },
            "returnParameters": {
              "id": 18052,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18051,
                  "mutability": "mutable",
                  "name": "oracleId",
                  "nameLocation": "7698:8:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18060,
                  "src": "7690:16:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18050,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7690:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7689:18:18"
            },
            "scope": 18412,
            "src": "7635:130:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18073,
              "nodeType": "Block",
              "src": "7850:59:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18069,
                        "name": "_riskpools",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17456,
                        "src": "7885:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 18070,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18062,
                        "src": "7897:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 18067,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "7868:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18068,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "at",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10078,
                      "src": "7868:16:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)"
                      }
                    },
                    "id": 18071,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7868:33:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 18066,
                  "id": 18072,
                  "nodeType": "Return",
                  "src": "7861:40:18"
                }
              ]
            },
            "functionSelector": "ff3f3883",
            "id": 18074,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolId",
            "nameLocation": "7782:13:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18063,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18062,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "7804:3:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18074,
                  "src": "7796:11:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18061,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7796:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7795:13:18"
            },
            "returnParameters": {
              "id": 18066,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18065,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "7838:10:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18074,
                  "src": "7830:18:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18064,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7830:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7829:20:18"
            },
            "scope": 18412,
            "src": "7773:136:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18087,
              "nodeType": "Block",
              "src": "7992:58:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18083,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17450,
                        "src": "8027:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 18084,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18076,
                        "src": "8038:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 18081,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "8010:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18082,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "at",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10078,
                      "src": "8010:16:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)"
                      }
                    },
                    "id": 18085,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8010:32:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 18080,
                  "id": 18086,
                  "nodeType": "Return",
                  "src": "8003:39:18"
                }
              ]
            },
            "functionSelector": "9f77a605",
            "id": 18088,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getProductId",
            "nameLocation": "7926:12:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18077,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18076,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "7947:3:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18088,
                  "src": "7939:11:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18075,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7939:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7938:13:18"
            },
            "returnParameters": {
              "id": 18080,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18079,
                  "mutability": "mutable",
                  "name": "productId",
                  "nameLocation": "7981:9:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18088,
                  "src": "7973:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18078,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7973:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7972:19:18"
            },
            "scope": 18412,
            "src": "7917:133:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18134,
              "nodeType": "Block",
              "src": "8155:406:18",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_ComponentType_$11578",
                      "typeString": "enum IComponent.ComponentType"
                    },
                    "id": 18100,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 18096,
                      "name": "componentType",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18091,
                      "src": "8170:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentType_$11578",
                        "typeString": "enum IComponent.ComponentType"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 18097,
                          "name": "IComponent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11675,
                          "src": "8187:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                            "typeString": "type(contract IComponent)"
                          }
                        },
                        "id": 18098,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "ComponentType",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11578,
                        "src": "8187:24:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ComponentType_$11578_$",
                          "typeString": "type(enum IComponent.ComponentType)"
                        }
                      },
                      "id": 18099,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "Product",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11576,
                      "src": "8187:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentType_$11578",
                        "typeString": "enum IComponent.ComponentType"
                      }
                    },
                    "src": "8170:49:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ComponentType_$11578",
                        "typeString": "enum IComponent.ComponentType"
                      },
                      "id": 18110,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 18106,
                        "name": "componentType",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18091,
                        "src": "8281:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentType_$11578",
                          "typeString": "enum IComponent.ComponentType"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 18107,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "8298:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 18108,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentType",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11578,
                          "src": "8298:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentType_$11578_$",
                            "typeString": "type(enum IComponent.ComponentType)"
                          }
                        },
                        "id": 18109,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Oracle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11575,
                        "src": "8298:31:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentType_$11578",
                          "typeString": "enum IComponent.ComponentType"
                        }
                      },
                      "src": "8281:48:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ComponentType_$11578",
                          "typeString": "enum IComponent.ComponentType"
                        },
                        "id": 18120,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 18116,
                          "name": "componentType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18091,
                          "src": "8393:13:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentType_$11578",
                            "typeString": "enum IComponent.ComponentType"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 18117,
                              "name": "IComponent",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11675,
                              "src": "8410:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                "typeString": "type(contract IComponent)"
                              }
                            },
                            "id": 18118,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "ComponentType",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 11578,
                            "src": "8410:24:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ComponentType_$11578_$",
                              "typeString": "type(enum IComponent.ComponentType)"
                            }
                          },
                          "id": 18119,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "Riskpool",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11577,
                          "src": "8410:33:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentType_$11578",
                            "typeString": "enum IComponent.ComponentType"
                          }
                        },
                        "src": "8393:50:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 18130,
                        "nodeType": "Block",
                        "src": "8503:51:18",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "4552524f523a4343522d3031303a434f4d504f4e454e545f545950455f554e4b4e4f574e",
                                  "id": 18127,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "8512:38:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_f1c08fa2a8ffb36bf794006b5c478bd24ca48d907fc7830cb558a4b14cd289c6",
                                    "typeString": "literal_string \"ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN\""
                                  },
                                  "value": "ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_f1c08fa2a8ffb36bf794006b5c478bd24ca48d907fc7830cb558a4b14cd289c6",
                                    "typeString": "literal_string \"ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN\""
                                  }
                                ],
                                "id": 18126,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  -19,
                                  -19
                                ],
                                "referencedDeclaration": -19,
                                "src": "8505:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 18128,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "8505:46:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 18129,
                            "nodeType": "ExpressionStatement",
                            "src": "8505:46:18"
                          }
                        ]
                      },
                      "id": 18131,
                      "nodeType": "IfStatement",
                      "src": "8389:165:18",
                      "trueBody": {
                        "id": 18125,
                        "nodeType": "Block",
                        "src": "8445:43:18",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 18121,
                                  "name": "_access",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21529,
                                  "src": "8454:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IAccess_$22927",
                                    "typeString": "contract IAccess"
                                  }
                                },
                                "id": 18122,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getRiskpoolKeeperRole",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 22886,
                                "src": "8454:29:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                                  "typeString": "function () view external returns (bytes32)"
                                }
                              },
                              "id": 18123,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "8454:31:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "functionReturnParameters": 18095,
                            "id": 18124,
                            "nodeType": "Return",
                            "src": "8447:38:18"
                          }
                        ]
                      }
                    },
                    "id": 18132,
                    "nodeType": "IfStatement",
                    "src": "8277:277:18",
                    "trueBody": {
                      "id": 18115,
                      "nodeType": "Block",
                      "src": "8331:43:18",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 18111,
                                "name": "_access",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21529,
                                "src": "8340:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IAccess_$22927",
                                  "typeString": "contract IAccess"
                                }
                              },
                              "id": 18112,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getOracleProviderRole",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 22881,
                              "src": "8340:29:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                                "typeString": "function () view external returns (bytes32)"
                              }
                            },
                            "id": 18113,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8340:31:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "functionReturnParameters": 18095,
                          "id": 18114,
                          "nodeType": "Return",
                          "src": "8333:38:18"
                        }
                      ]
                    }
                  },
                  "id": 18133,
                  "nodeType": "IfStatement",
                  "src": "8166:388:18",
                  "trueBody": {
                    "id": 18105,
                    "nodeType": "Block",
                    "src": "8221:41:18",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 18101,
                              "name": "_access",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21529,
                              "src": "8230:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IAccess_$22927",
                                "typeString": "contract IAccess"
                              }
                            },
                            "id": 18102,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "getProductOwnerRole",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22876,
                            "src": "8230:27:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                              "typeString": "function () view external returns (bytes32)"
                            }
                          },
                          "id": 18103,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8230:29:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 18095,
                        "id": 18104,
                        "nodeType": "Return",
                        "src": "8223:36:18"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "5af89a47",
            "id": 18135,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getRequiredRole",
            "nameLocation": "8067:15:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18092,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18091,
                  "mutability": "mutable",
                  "name": "componentType",
                  "nameLocation": "8108:13:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18135,
                  "src": "8083:38:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentType_$11578",
                    "typeString": "enum IComponent.ComponentType"
                  },
                  "typeName": {
                    "id": 18090,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 18089,
                      "name": "IComponent.ComponentType",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11578,
                      "src": "8083:24:18"
                    },
                    "referencedDeclaration": 11578,
                    "src": "8083:24:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentType_$11578",
                      "typeString": "enum IComponent.ComponentType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8082:40:18"
            },
            "returnParameters": {
              "id": 18095,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18094,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 18135,
                  "src": "8146:7:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 18093,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8146:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8145:9:18"
            },
            "scope": 18412,
            "src": "8058:503:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 18142,
              "nodeType": "Block",
              "src": "8627:27:18",
              "statements": [
                {
                  "expression": {
                    "id": 18140,
                    "name": "_componentCount",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 17458,
                    "src": "8636:15:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 18139,
                  "id": 18141,
                  "nodeType": "Return",
                  "src": "8629:22:18"
                }
              ]
            },
            "functionSelector": "ba62fbe4",
            "id": 18143,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "components",
            "nameLocation": "8578:10:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18136,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8588:2:18"
            },
            "returnParameters": {
              "id": 18139,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18138,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8620:5:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18143,
                  "src": "8612:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18137,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8612:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8611:15:18"
            },
            "scope": 18412,
            "src": "8569:85:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18153,
              "nodeType": "Block",
              "src": "8716:43:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18150,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17450,
                        "src": "8746:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      ],
                      "expression": {
                        "id": 18148,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "8725:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18149,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10057,
                      "src": "8725:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"
                      }
                    },
                    "id": 18151,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8725:31:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 18147,
                  "id": 18152,
                  "nodeType": "Return",
                  "src": "8718:38:18"
                }
              ]
            },
            "functionSelector": "c71e261f",
            "id": 18154,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "products",
            "nameLocation": "8669:8:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18144,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8677:2:18"
            },
            "returnParameters": {
              "id": 18147,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18146,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8709:5:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18154,
                  "src": "8701:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18145,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8701:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8700:15:18"
            },
            "scope": 18412,
            "src": "8660:99:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18164,
              "nodeType": "Block",
              "src": "8820:42:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18161,
                        "name": "_oracles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17453,
                        "src": "8850:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      ],
                      "expression": {
                        "id": 18159,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "8829:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18160,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10057,
                      "src": "8829:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"
                      }
                    },
                    "id": 18162,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8829:30:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 18158,
                  "id": 18163,
                  "nodeType": "Return",
                  "src": "8822:37:18"
                }
              ]
            },
            "functionSelector": "2857373a",
            "id": 18165,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "oracles",
            "nameLocation": "8774:7:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18155,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8781:2:18"
            },
            "returnParameters": {
              "id": 18158,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18157,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8813:5:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18165,
                  "src": "8805:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18156,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8805:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8804:15:18"
            },
            "scope": 18412,
            "src": "8765:97:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18175,
              "nodeType": "Block",
              "src": "8925:44:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18172,
                        "name": "_riskpools",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17456,
                        "src": "8955:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      ],
                      "expression": {
                        "id": 18170,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "8934:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18171,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10057,
                      "src": "8934:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$returns$_t_uint256_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"
                      }
                    },
                    "id": 18173,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8934:32:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 18169,
                  "id": 18174,
                  "nodeType": "Return",
                  "src": "8927:39:18"
                }
              ]
            },
            "functionSelector": "a054381f",
            "id": 18176,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "riskpools",
            "nameLocation": "8877:9:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18166,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8886:2:18"
            },
            "returnParameters": {
              "id": 18169,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18168,
                  "mutability": "mutable",
                  "name": "count",
                  "nameLocation": "8918:5:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18176,
                  "src": "8910:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18167,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8910:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8909:15:18"
            },
            "scope": 18412,
            "src": "8868:101:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18189,
              "nodeType": "Block",
              "src": "9035:49:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18185,
                        "name": "_products",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17450,
                        "src": "9067:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 18186,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18178,
                        "src": "9078:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 18183,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "9044:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18184,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10042,
                      "src": "9044:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 18187,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9044:37:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 18182,
                  "id": 18188,
                  "nodeType": "Return",
                  "src": "9037:44:18"
                }
              ]
            },
            "functionSelector": "3920200c",
            "id": 18190,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isProduct",
            "nameLocation": "8986:9:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18179,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18178,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "9004:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18190,
                  "src": "8996:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18177,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8996:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8995:12:18"
            },
            "returnParameters": {
              "id": 18182,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18181,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 18190,
                  "src": "9029:4:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18180,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "9029:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9028:6:18"
            },
            "scope": 18412,
            "src": "8977:107:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18203,
              "nodeType": "Block",
              "src": "9149:48:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18199,
                        "name": "_oracles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17453,
                        "src": "9181:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 18200,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18192,
                        "src": "9191:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 18197,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "9158:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18198,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10042,
                      "src": "9158:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 18201,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9158:36:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 18196,
                  "id": 18202,
                  "nodeType": "Return",
                  "src": "9151:43:18"
                }
              ]
            },
            "functionSelector": "09f63ed9",
            "id": 18204,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isOracle",
            "nameLocation": "9101:8:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18193,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18192,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "9118:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18204,
                  "src": "9110:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18191,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9110:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9109:12:18"
            },
            "returnParameters": {
              "id": 18196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18195,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 18204,
                  "src": "9143:4:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18194,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "9143:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9142:6:18"
            },
            "scope": 18412,
            "src": "9092:105:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18217,
              "nodeType": "Block",
              "src": "9264:50:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18213,
                        "name": "_riskpools",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17456,
                        "src": "9296:10:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        }
                      },
                      {
                        "id": 18214,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18206,
                        "src": "9308:2:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_UintSet_$9979_storage",
                          "typeString": "struct EnumerableSet.UintSet storage ref"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 18211,
                        "name": "EnumerableSet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10109,
                        "src": "9273:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_EnumerableSet_$10109_$",
                          "typeString": "type(library EnumerableSet)"
                        }
                      },
                      "id": 18212,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "contains",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10042,
                      "src": "9273:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$9979_storage_ptr_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"
                      }
                    },
                    "id": 18215,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9273:38:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 18210,
                  "id": 18216,
                  "nodeType": "Return",
                  "src": "9266:45:18"
                }
              ]
            },
            "functionSelector": "ba80b8ed",
            "id": 18218,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isRiskpool",
            "nameLocation": "9214:10:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18207,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18206,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "9233:2:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18218,
                  "src": "9225:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18205,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9225:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9224:12:18"
            },
            "returnParameters": {
              "id": 18210,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18209,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 18218,
                  "src": "9258:4:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 18208,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "9258:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9257:6:18"
            },
            "scope": 18412,
            "src": "9205:109:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18238,
              "nodeType": "Block",
              "src": "9406:142:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 18227,
                            "name": "productId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18220,
                            "src": "9435:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 18226,
                          "name": "isProduct",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18190,
                          "src": "9425:9:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (uint256) view returns (bool)"
                          }
                        },
                        "id": 18228,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9425:20:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3031313a554e4b4e4f574e5f50524f445543545f4944",
                        "id": 18229,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9447:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_709b753f017c54bf3895eff7607622481d3ca03b6f3de6ef863313f4912d5c91",
                          "typeString": "literal_string \"ERROR:CCR-011:UNKNOWN_PRODUCT_ID\""
                        },
                        "value": "ERROR:CCR-011:UNKNOWN_PRODUCT_ID"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_709b753f017c54bf3895eff7607622481d3ca03b6f3de6ef863313f4912d5c91",
                          "typeString": "literal_string \"ERROR:CCR-011:UNKNOWN_PRODUCT_ID\""
                        }
                      ],
                      "id": 18225,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "9417:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 18230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9417:65:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18231,
                  "nodeType": "ExpressionStatement",
                  "src": "9417:65:18"
                },
                {
                  "expression": {
                    "id": 18236,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 18232,
                      "name": "_policyFlow",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18223,
                      "src": "9493:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 18233,
                        "name": "_policyFlowByProductId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17462,
                        "src": "9507:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
                          "typeString": "mapping(uint256 => address)"
                        }
                      },
                      "id": 18235,
                      "indexExpression": {
                        "id": 18234,
                        "name": "productId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18220,
                        "src": "9530:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "9507:33:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "9493:47:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 18237,
                  "nodeType": "ExpressionStatement",
                  "src": "9493:47:18"
                }
              ]
            },
            "functionSelector": "e61ae297",
            "id": 18239,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getPolicyFlow",
            "nameLocation": "9331:13:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18221,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18220,
                  "mutability": "mutable",
                  "name": "productId",
                  "nameLocation": "9353:9:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18239,
                  "src": "9345:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18219,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9345:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9344:19:18"
            },
            "returnParameters": {
              "id": 18224,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18223,
                  "mutability": "mutable",
                  "name": "_policyFlow",
                  "nameLocation": "9393:11:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18239,
                  "src": "9385:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 18222,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9385:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9384:21:18"
            },
            "scope": 18412,
            "src": "9322:226:18",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 18273,
              "nodeType": "Block",
              "src": "9644:323:18",
              "statements": [
                {
                  "assignments": [
                    18251
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 18251,
                      "mutability": "mutable",
                      "name": "oldState",
                      "nameLocation": "9681:8:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 18273,
                      "src": "9655:34:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                        "typeString": "enum IComponent.ComponentState"
                      },
                      "typeName": {
                        "id": 18250,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 18249,
                          "name": "IComponent.ComponentState",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 11586,
                          "src": "9655:25:18"
                        },
                        "referencedDeclaration": 11586,
                        "src": "9655:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 18255,
                  "initialValue": {
                    "baseExpression": {
                      "id": 18252,
                      "name": "_componentState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 17447,
                      "src": "9692:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$11586_$",
                        "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
                      }
                    },
                    "id": 18254,
                    "indexExpression": {
                      "id": 18253,
                      "name": "componentId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18241,
                      "src": "9708:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "9692:28:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9655:65:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 18257,
                        "name": "oldState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18251,
                        "src": "9755:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      {
                        "id": 18258,
                        "name": "newState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18244,
                        "src": "9765:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 18256,
                      "name": "_checkStateTransition",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18411,
                      "src": "9733:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_enum$_ComponentState_$11586_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (enum IComponent.ComponentState,enum IComponent.ComponentState) pure"
                      }
                    },
                    "id": 18259,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9733:41:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18260,
                  "nodeType": "ExpressionStatement",
                  "src": "9733:41:18"
                },
                {
                  "expression": {
                    "id": 18265,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 18261,
                        "name": "_componentState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17447,
                        "src": "9785:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$11586_$",
                          "typeString": "mapping(uint256 => enum IComponent.ComponentState)"
                        }
                      },
                      "id": 18263,
                      "indexExpression": {
                        "id": 18262,
                        "name": "componentId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18241,
                        "src": "9801:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "9785:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 18264,
                      "name": "newState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18244,
                      "src": "9816:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "src": "9785:39:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "id": 18266,
                  "nodeType": "ExpressionStatement",
                  "src": "9785:39:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 18268,
                        "name": "componentId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18241,
                        "src": "9927:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 18269,
                        "name": "oldState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18251,
                        "src": "9940:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      {
                        "id": 18270,
                        "name": "newState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18244,
                        "src": "9950:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      ],
                      "id": 18267,
                      "name": "LogComponentStateChanged",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22979,
                      "src": "9902:24:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_ComponentState_$11586_$_t_enum$_ComponentState_$11586_$returns$__$",
                        "typeString": "function (uint256,enum IComponent.ComponentState,enum IComponent.ComponentState)"
                      }
                    },
                    "id": 18271,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9902:57:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18272,
                  "nodeType": "EmitStatement",
                  "src": "9897:62:18"
                }
              ]
            },
            "id": 18274,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_changeState",
            "nameLocation": "9565:12:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18245,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18241,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "9586:11:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18274,
                  "src": "9578:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 18240,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9578:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 18244,
                  "mutability": "mutable",
                  "name": "newState",
                  "nameLocation": "9625:8:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18274,
                  "src": "9599:34:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$11586",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 18243,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 18242,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11586,
                      "src": "9599:25:18"
                    },
                    "referencedDeclaration": 11586,
                    "src": "9599:25:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9577:57:18"
            },
            "returnParameters": {
              "id": 18246,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9644:0:18"
            },
            "scope": 18412,
            "src": "9556:411:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 18410,
              "nodeType": "Block",
              "src": "10144:1610:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        "id": 18286,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 18284,
                          "name": "newState",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18280,
                          "src": "10163:8:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "id": 18285,
                          "name": "oldState",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18277,
                          "src": "10175:8:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "src": "10163:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a4343522d3032303a534f555243455f414e445f5441524745545f53544154455f4944454e544943414c",
                        "id": 18287,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10199:49:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6b075609608efafdf82ca4cfa74bf357d9aad12ac8bb658b7fb7cfcfb10656bd",
                          "typeString": "literal_string \"ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL\""
                        },
                        "value": "ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6b075609608efafdf82ca4cfa74bf357d9aad12ac8bb658b7fb7cfcfb10656bd",
                          "typeString": "literal_string \"ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL\""
                        }
                      ],
                      "id": 18283,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "10155:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 18288,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10155:94:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 18289,
                  "nodeType": "ExpressionStatement",
                  "src": "10155:94:18"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    },
                    "id": 18294,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 18290,
                      "name": "oldState",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 18277,
                      "src": "10274:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 18291,
                          "name": "IComponent",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 11675,
                          "src": "10286:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                            "typeString": "type(contract IComponent)"
                          }
                        },
                        "id": 18292,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "ComponentState",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11586,
                        "src": "10286:25:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                          "typeString": "type(enum IComponent.ComponentState)"
                        }
                      },
                      "id": 18293,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberName": "Created",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11579,
                      "src": "10286:33:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                        "typeString": "enum IComponent.ComponentState"
                      }
                    },
                    "src": "10274:45:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                        "typeString": "enum IComponent.ComponentState"
                      },
                      "id": 18309,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 18305,
                        "name": "oldState",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 18277,
                        "src": "10475:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 18306,
                            "name": "IComponent",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 11675,
                            "src": "10487:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                              "typeString": "type(contract IComponent)"
                            }
                          },
                          "id": 18307,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ComponentState",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11586,
                          "src": "10487:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                            "typeString": "type(enum IComponent.ComponentState)"
                          }
                        },
                        "id": 18308,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberName": "Proposed",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 11580,
                        "src": "10487:34:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        }
                      },
                      "src": "10475:46:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                          "typeString": "enum IComponent.ComponentState"
                        },
                        "id": 18330,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 18326,
                          "name": "oldState",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18277,
                          "src": "10743:8:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 18327,
                              "name": "IComponent",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11675,
                              "src": "10755:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                "typeString": "type(contract IComponent)"
                              }
                            },
                            "id": 18328,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "ComponentState",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 11586,
                            "src": "10755:25:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                              "typeString": "type(enum IComponent.ComponentState)"
                            }
                          },
                          "id": 18329,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "Declined",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11581,
                          "src": "10755:34:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                            "typeString": "enum IComponent.ComponentState"
                          }
                        },
                        "src": "10743:46:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                            "typeString": "enum IComponent.ComponentState"
                          },
                          "id": 18340,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 18336,
                            "name": "oldState",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18277,
                            "src": "10875:8:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ComponentState_$11586",
                              "typeString": "enum IComponent.ComponentState"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 18337,
                                "name": "IComponent",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 11675,
                                "src": "10887:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                  "typeString": "type(contract IComponent)"
                                }
                              },
                              "id": 18338,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "ComponentState",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11586,
                              "src": "10887:25:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                "typeString": "type(enum IComponent.ComponentState)"
                              }
                            },
                            "id": 18339,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "Active",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 11582,
                            "src": "10887:32:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ComponentState_$11586",
                              "typeString": "enum IComponent.ComponentState"
                            }
                          },
                          "src": "10875:44:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_ComponentState_$11586",
                              "typeString": "enum IComponent.ComponentState"
                            },
                            "id": 18361,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 18357,
                              "name": "oldState",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 18277,
                              "src": "11141:8:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ComponentState_$11586",
                                "typeString": "enum IComponent.ComponentState"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 18358,
                                  "name": "IComponent",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 11675,
                                  "src": "11153:10:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                    "typeString": "type(contract IComponent)"
                                  }
                                },
                                "id": 18359,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ComponentState",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 11586,
                                "src": "11153:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                  "typeString": "type(enum IComponent.ComponentState)"
                                }
                              },
                              "id": 18360,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberName": "Paused",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11583,
                              "src": "11153:32:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ComponentState_$11586",
                                "typeString": "enum IComponent.ComponentState"
                              }
                            },
                            "src": "11141:44:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_enum$_ComponentState_$11586",
                                "typeString": "enum IComponent.ComponentState"
                              },
                              "id": 18382,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 18378,
                                "name": "oldState",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 18277,
                                "src": "11405:8:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$11586",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 18379,
                                    "name": "IComponent",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11675,
                                    "src": "11417:10:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                      "typeString": "type(contract IComponent)"
                                    }
                                  },
                                  "id": 18380,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "ComponentState",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 11586,
                                  "src": "11417:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                    "typeString": "type(enum IComponent.ComponentState)"
                                  }
                                },
                                "id": 18381,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberName": "Suspended",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 11584,
                                "src": "11417:35:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$11586",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "src": "11405:47:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseBody": {
                              "id": 18403,
                              "nodeType": "Block",
                              "src": "11671:76:18",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "hexValue": "4552524f523a4343522d3032373a494e495449414c5f53544154455f4e4f545f48414e444c4544",
                                        "id": 18400,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11693:41:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_512ac6c7424b7e416123df2c876fbcb260e557a5e44ae55dbe69355255653f93",
                                          "typeString": "literal_string \"ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED\""
                                        },
                                        "value": "ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_stringliteral_512ac6c7424b7e416123df2c876fbcb260e557a5e44ae55dbe69355255653f93",
                                          "typeString": "literal_string \"ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED\""
                                        }
                                      ],
                                      "id": 18399,
                                      "name": "revert",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        -19,
                                        -19
                                      ],
                                      "referencedDeclaration": -19,
                                      "src": "11686:6:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                        "typeString": "function (string memory) pure"
                                      }
                                    },
                                    "id": 18401,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "11686:49:18",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 18402,
                                  "nodeType": "ExpressionStatement",
                                  "src": "11686:49:18"
                                }
                              ]
                            },
                            "id": 18404,
                            "nodeType": "IfStatement",
                            "src": "11401:346:18",
                            "trueBody": {
                              "id": 18398,
                              "nodeType": "Block",
                              "src": "11454:211:18",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "commonType": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        },
                                        "id": 18394,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "commonType": {
                                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                                            "typeString": "enum IComponent.ComponentState"
                                          },
                                          "id": 18388,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "id": 18384,
                                            "name": "newState",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 18280,
                                            "src": "11477:8:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$11586",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "==",
                                          "rightExpression": {
                                            "expression": {
                                              "expression": {
                                                "id": 18385,
                                                "name": "IComponent",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 11675,
                                                "src": "11489:10:18",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                                  "typeString": "type(contract IComponent)"
                                                }
                                              },
                                              "id": 18386,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "ComponentState",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 11586,
                                              "src": "11489:25:18",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                                "typeString": "type(enum IComponent.ComponentState)"
                                              }
                                            },
                                            "id": 18387,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberName": "Active",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 11582,
                                            "src": "11489:32:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$11586",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "src": "11477:44:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "||",
                                        "rightExpression": {
                                          "commonType": {
                                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                                            "typeString": "enum IComponent.ComponentState"
                                          },
                                          "id": 18393,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "id": 18389,
                                            "name": "newState",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 18280,
                                            "src": "11542:8:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$11586",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "==",
                                          "rightExpression": {
                                            "expression": {
                                              "expression": {
                                                "id": 18390,
                                                "name": "IComponent",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 11675,
                                                "src": "11554:10:18",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                                  "typeString": "type(contract IComponent)"
                                                }
                                              },
                                              "id": 18391,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "ComponentState",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 11586,
                                              "src": "11554:25:18",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                                "typeString": "type(enum IComponent.ComponentState)"
                                              }
                                            },
                                            "id": 18392,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberName": "Archived",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 11585,
                                            "src": "11554:34:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_enum$_ComponentState_$11586",
                                              "typeString": "enum IComponent.ComponentState"
                                            }
                                          },
                                          "src": "11542:46:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          }
                                        },
                                        "src": "11477:111:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      {
                                        "hexValue": "4552524f523a4343522d3032363a53555350454e4445445f494e56414c49445f5452414e534954494f4e",
                                        "id": 18395,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11608:44:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_58a6319ab23087cefcdbcbd3c8e4c0242721e866c13cbc743fb203df63de1716",
                                          "typeString": "literal_string \"ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION\""
                                        },
                                        "value": "ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        },
                                        {
                                          "typeIdentifier": "t_stringliteral_58a6319ab23087cefcdbcbd3c8e4c0242721e866c13cbc743fb203df63de1716",
                                          "typeString": "literal_string \"ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION\""
                                        }
                                      ],
                                      "id": 18383,
                                      "name": "require",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        -18,
                                        -18
                                      ],
                                      "referencedDeclaration": -18,
                                      "src": "11469:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                        "typeString": "function (bool,string memory) pure"
                                      }
                                    },
                                    "id": 18396,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "11469:184:18",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 18397,
                                  "nodeType": "ExpressionStatement",
                                  "src": "11469:184:18"
                                }
                              ]
                            }
                          },
                          "id": 18405,
                          "nodeType": "IfStatement",
                          "src": "11137:610:18",
                          "trueBody": {
                            "id": 18377,
                            "nodeType": "Block",
                            "src": "11187:208:18",
                            "statements": [
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      "id": 18373,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "commonType": {
                                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                                          "typeString": "enum IComponent.ComponentState"
                                        },
                                        "id": 18367,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "id": 18363,
                                          "name": "newState",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 18280,
                                          "src": "11210:8:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                          "expression": {
                                            "expression": {
                                              "id": 18364,
                                              "name": "IComponent",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 11675,
                                              "src": "11222:10:18",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                                "typeString": "type(contract IComponent)"
                                              }
                                            },
                                            "id": 18365,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "ComponentState",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 11586,
                                            "src": "11222:25:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                              "typeString": "type(enum IComponent.ComponentState)"
                                            }
                                          },
                                          "id": 18366,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "Active",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 11582,
                                          "src": "11222:32:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "src": "11210:44:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "||",
                                      "rightExpression": {
                                        "commonType": {
                                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                                          "typeString": "enum IComponent.ComponentState"
                                        },
                                        "id": 18372,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "id": 18368,
                                          "name": "newState",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 18280,
                                          "src": "11275:8:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                          "expression": {
                                            "expression": {
                                              "id": 18369,
                                              "name": "IComponent",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 11675,
                                              "src": "11287:10:18",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                                "typeString": "type(contract IComponent)"
                                              }
                                            },
                                            "id": 18370,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "ComponentState",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 11586,
                                            "src": "11287:25:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                              "typeString": "type(enum IComponent.ComponentState)"
                                            }
                                          },
                                          "id": 18371,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "Archived",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 11585,
                                          "src": "11287:34:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_ComponentState_$11586",
                                            "typeString": "enum IComponent.ComponentState"
                                          }
                                        },
                                        "src": "11275:46:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bool",
                                          "typeString": "bool"
                                        }
                                      },
                                      "src": "11210:111:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    {
                                      "hexValue": "4552524f523a4343522d3032353a5041555345445f494e56414c49445f5452414e534954494f4e",
                                      "id": 18374,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "11341:41:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_0482b94049f0958858785a7e41524773ca88442982af776b7db627215a0937ca",
                                        "typeString": "literal_string \"ERROR:CCR-025:PAUSED_INVALID_TRANSITION\""
                                      },
                                      "value": "ERROR:CCR-025:PAUSED_INVALID_TRANSITION"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_0482b94049f0958858785a7e41524773ca88442982af776b7db627215a0937ca",
                                        "typeString": "literal_string \"ERROR:CCR-025:PAUSED_INVALID_TRANSITION\""
                                      }
                                    ],
                                    "id": 18362,
                                    "name": "require",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      -18,
                                      -18
                                    ],
                                    "referencedDeclaration": -18,
                                    "src": "11202:7:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                      "typeString": "function (bool,string memory) pure"
                                    }
                                  },
                                  "id": 18375,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11202:181:18",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 18376,
                                "nodeType": "ExpressionStatement",
                                "src": "11202:181:18"
                              }
                            ]
                          }
                        },
                        "id": 18406,
                        "nodeType": "IfStatement",
                        "src": "10871:876:18",
                        "trueBody": {
                          "id": 18356,
                          "nodeType": "Block",
                          "src": "10921:210:18",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "id": 18352,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                                        "typeString": "enum IComponent.ComponentState"
                                      },
                                      "id": 18346,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 18342,
                                        "name": "newState",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 18280,
                                        "src": "10944:8:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 18343,
                                            "name": "IComponent",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 11675,
                                            "src": "10956:10:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                              "typeString": "type(contract IComponent)"
                                            }
                                          },
                                          "id": 18344,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "ComponentState",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 11586,
                                          "src": "10956:25:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                            "typeString": "type(enum IComponent.ComponentState)"
                                          }
                                        },
                                        "id": 18345,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberName": "Paused",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 11583,
                                        "src": "10956:32:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "src": "10944:44:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "||",
                                    "rightExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_ComponentState_$11586",
                                        "typeString": "enum IComponent.ComponentState"
                                      },
                                      "id": 18351,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 18347,
                                        "name": "newState",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 18280,
                                        "src": "11010:8:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 18348,
                                            "name": "IComponent",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 11675,
                                            "src": "11022:10:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                              "typeString": "type(contract IComponent)"
                                            }
                                          },
                                          "id": 18349,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "ComponentState",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 11586,
                                          "src": "11022:25:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                            "typeString": "type(enum IComponent.ComponentState)"
                                          }
                                        },
                                        "id": 18350,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberName": "Suspended",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 11584,
                                        "src": "11022:35:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ComponentState_$11586",
                                          "typeString": "enum IComponent.ComponentState"
                                        }
                                      },
                                      "src": "11010:47:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "src": "10944:113:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "hexValue": "4552524f523a4343522d3032343a4143544956455f494e56414c49445f5452414e534954494f4e",
                                    "id": 18353,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "11077:41:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_aedba318da9c17b182ebb85736c0568cffa933b22def476bb1db2682f6fecda2",
                                      "typeString": "literal_string \"ERROR:CCR-024:ACTIVE_INVALID_TRANSITION\""
                                    },
                                    "value": "ERROR:CCR-024:ACTIVE_INVALID_TRANSITION"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_aedba318da9c17b182ebb85736c0568cffa933b22def476bb1db2682f6fecda2",
                                      "typeString": "literal_string \"ERROR:CCR-024:ACTIVE_INVALID_TRANSITION\""
                                    }
                                  ],
                                  "id": 18341,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    -18,
                                    -18
                                  ],
                                  "referencedDeclaration": -18,
                                  "src": "10936:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (bool,string memory) pure"
                                  }
                                },
                                "id": 18354,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10936:183:18",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 18355,
                              "nodeType": "ExpressionStatement",
                              "src": "10936:183:18"
                            }
                          ]
                        }
                      },
                      "id": 18407,
                      "nodeType": "IfStatement",
                      "src": "10739:1008:18",
                      "trueBody": {
                        "id": 18335,
                        "nodeType": "Block",
                        "src": "10791:74:18",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "4552524f523a4343522d3032333a4445434c494e45445f49535f46494e414c5f5354415445",
                                  "id": 18332,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "10813:39:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_42aa29d463e00aadde35312cfb43fe30bee16376ea01580e27b2dacd6cef5592",
                                    "typeString": "literal_string \"ERROR:CCR-023:DECLINED_IS_FINAL_STATE\""
                                  },
                                  "value": "ERROR:CCR-023:DECLINED_IS_FINAL_STATE"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_42aa29d463e00aadde35312cfb43fe30bee16376ea01580e27b2dacd6cef5592",
                                    "typeString": "literal_string \"ERROR:CCR-023:DECLINED_IS_FINAL_STATE\""
                                  }
                                ],
                                "id": 18331,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  -19,
                                  -19
                                ],
                                "referencedDeclaration": -19,
                                "src": "10806:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 18333,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10806:47:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 18334,
                            "nodeType": "ExpressionStatement",
                            "src": "10806:47:18"
                          }
                        ]
                      }
                    },
                    "id": 18408,
                    "nodeType": "IfStatement",
                    "src": "10471:1276:18",
                    "trueBody": {
                      "id": 18325,
                      "nodeType": "Block",
                      "src": "10523:210:18",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "id": 18321,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_ComponentState_$11586",
                                    "typeString": "enum IComponent.ComponentState"
                                  },
                                  "id": 18315,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 18311,
                                    "name": "newState",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 18280,
                                    "src": "10546:8:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 18312,
                                        "name": "IComponent",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11675,
                                        "src": "10558:10:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                          "typeString": "type(contract IComponent)"
                                        }
                                      },
                                      "id": 18313,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "ComponentState",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 11586,
                                      "src": "10558:25:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                        "typeString": "type(enum IComponent.ComponentState)"
                                      }
                                    },
                                    "id": 18314,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberName": "Active",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 11582,
                                    "src": "10558:32:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "src": "10546:44:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "||",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_ComponentState_$11586",
                                    "typeString": "enum IComponent.ComponentState"
                                  },
                                  "id": 18320,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 18316,
                                    "name": "newState",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 18280,
                                    "src": "10612:8:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 18317,
                                        "name": "IComponent",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 11675,
                                        "src": "10624:10:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                          "typeString": "type(contract IComponent)"
                                        }
                                      },
                                      "id": 18318,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "ComponentState",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 11586,
                                      "src": "10624:25:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                        "typeString": "type(enum IComponent.ComponentState)"
                                      }
                                    },
                                    "id": 18319,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberName": "Declined",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 11581,
                                    "src": "10624:34:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                                      "typeString": "enum IComponent.ComponentState"
                                    }
                                  },
                                  "src": "10612:46:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "src": "10546:112:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              {
                                "hexValue": "4552524f523a4343522d32323a50524f504f5345445f494e56414c49445f5452414e534954494f4e",
                                "id": 18322,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10678:42:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_3b9aa6c2dd4c618aff287fe40145b03866d1f0f394ef1bd7eabcf15523e1a082",
                                  "typeString": "literal_string \"ERROR:CCR-22:PROPOSED_INVALID_TRANSITION\""
                                },
                                "value": "ERROR:CCR-22:PROPOSED_INVALID_TRANSITION"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_3b9aa6c2dd4c618aff287fe40145b03866d1f0f394ef1bd7eabcf15523e1a082",
                                  "typeString": "literal_string \"ERROR:CCR-22:PROPOSED_INVALID_TRANSITION\""
                                }
                              ],
                              "id": 18310,
                              "name": "require",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                -18,
                                -18
                              ],
                              "referencedDeclaration": -18,
                              "src": "10538:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (bool,string memory) pure"
                              }
                            },
                            "id": 18323,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10538:183:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 18324,
                          "nodeType": "ExpressionStatement",
                          "src": "10538:183:18"
                        }
                      ]
                    }
                  },
                  "id": 18409,
                  "nodeType": "IfStatement",
                  "src": "10270:1477:18",
                  "trueBody": {
                    "id": 18304,
                    "nodeType": "Block",
                    "src": "10321:144:18",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_enum$_ComponentState_$11586",
                                "typeString": "enum IComponent.ComponentState"
                              },
                              "id": 18300,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 18296,
                                "name": "newState",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 18280,
                                "src": "10344:8:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$11586",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 18297,
                                    "name": "IComponent",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 11675,
                                    "src": "10356:10:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IComponent_$11675_$",
                                      "typeString": "type(contract IComponent)"
                                    }
                                  },
                                  "id": 18298,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "ComponentState",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 11586,
                                  "src": "10356:25:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_ComponentState_$11586_$",
                                    "typeString": "type(enum IComponent.ComponentState)"
                                  }
                                },
                                "id": 18299,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberName": "Proposed",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 11580,
                                "src": "10356:34:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ComponentState_$11586",
                                  "typeString": "enum IComponent.ComponentState"
                                }
                              },
                              "src": "10344:46:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "4552524f523a4343522d3032313a435245415445445f494e56414c49445f5452414e534954494f4e",
                              "id": 18301,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "10410:42:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_1f46e308fac0cff196aecf5e84c50b4060e83c7555cae1916f001746068e894c",
                                "typeString": "literal_string \"ERROR:CCR-021:CREATED_INVALID_TRANSITION\""
                              },
                              "value": "ERROR:CCR-021:CREATED_INVALID_TRANSITION"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_1f46e308fac0cff196aecf5e84c50b4060e83c7555cae1916f001746068e894c",
                                "typeString": "literal_string \"ERROR:CCR-021:CREATED_INVALID_TRANSITION\""
                              }
                            ],
                            "id": 18295,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "10336:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 18302,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10336:117:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 18303,
                        "nodeType": "ExpressionStatement",
                        "src": "10336:117:18"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 18411,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_checkStateTransition",
            "nameLocation": "9984:21:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 18281,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 18277,
                  "mutability": "mutable",
                  "name": "oldState",
                  "nameLocation": "10042:8:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18411,
                  "src": "10016:34:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$11586",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 18276,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 18275,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11586,
                      "src": "10016:25:18"
                    },
                    "referencedDeclaration": 11586,
                    "src": "10016:25:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 18280,
                  "mutability": "mutable",
                  "name": "newState",
                  "nameLocation": "10088:8:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 18411,
                  "src": "10062:34:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$11586",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 18279,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 18278,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11586,
                      "src": "10062:25:18"
                    },
                    "referencedDeclaration": 11586,
                    "src": "10062:25:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10005:98:18"
            },
            "returnParameters": {
              "id": 18282,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10144:0:18"
            },
            "scope": 18412,
            "src": "9975:1779:18",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 18413,
        "src": "527:11230:18"
      }
    ],
    "src": "40:11719:18"
  },
  "bytecode": "608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6121f980620000ee6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636bc607b3116100f9578063ba80b8ed11610097578063dd51c86a11610071578063dd51c86a146103a9578063e61ae297146103c9578063fabc1cbc146103dc578063ff3f3883146103ef576101a9565b8063ba80b8ed1461037b578063c4d66de81461038e578063c71e261f146103a1576101a9565b8063a054381f116100d3578063a054381f14610345578063a5c0f5a11461034d578063b759f95414610360578063ba62fbe414610373576101a9565b80636bc607b31461030c5780639f77a6051461031f578063a0355f4e14610332576101a9565b80633920200c116101665780634f27da18116101405780634f27da18146102735780634f558e791461029e5780635af89a47146102c95780635e966e45146102dc576101a9565b80633920200c1461023a578063414000b51461024d5780634b86584614610260576101a9565b806301267951146101ae57806309f63ed9146101c35780630f5da3a6146101eb578063136439dd146101fe5780632857373a146102115780632b1c7f7314610227575b600080fd5b6101c16101bc366004611f6e565b610402565b005b6101d66101d136600461201d565b610739565b60405190151581526020015b60405180910390f35b6101c16101f936600461201d565b61074e565b6101c161020c36600461201d565b610827565b6102196108fe565b6040519081526020016101e2565b610219610235366004611f6e565b61090f565b6101d661024836600461201d565b6109da565b6101c161025b36600461201d565b6109e7565b6101c161026e36600461201d565b610ac0565b61028661028136600461201d565b610b99565b6040516001600160a01b0390911681526020016101e2565b6101d66102ac36600461201d565b6000908152600260205260409020546001600160a01b0316151590565b6102196102d7366004611fe5565b610c09565b6102ff6102ea36600461201d565b60009081526005602052604090205460ff1690565b6040516101e29190612088565b6101c161031a36600461201d565b610e00565b61021961032d36600461201d565b610e51565b6101c161034036600461201d565b610e5e565b610219610f37565b61021961035b36600461201d565b610f43565b6101c161036e36600461201d565b610f50565b600c54610219565b6101d661038936600461201d565b6110d5565b6101c161039c366004611f6e565b6110e2565b610219611260565b6103bc6103b736600461201d565b61126c565b6040516101e29190612096565b6102866103d736600461201d565b611309565b6101c16103ea36600461201d565b61137c565b6102196103fd36600461201d565b611453565b61042374436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b03161461045c5760405162461bcd60e51b8152600401610453906120ef565b60405180910390fd5b6001600160a01b038116600090815260046020526040902054156104d15760405162461bcd60e51b815260206004820152602660248201527f4552524f523a4343522d3030333a434f4d504f4e454e545f414c52454144595f60448201526545584953545360d01b6064820152608401610453565b60036000826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050e57600080fd5b505afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190611fcd565b8152602001908152602001600020546000146105b85760405162461bcd60e51b815260206004820152602b60248201527f4552524f523a4343522d3030343a434f4d504f4e454e545f4e414d455f414c5260448201526a454144595f45584953545360a81b6064820152608401610453565b60006105c382611548565b90507fd9b3d18a6293c46c667fe6a98468c457078489f2e16e356bb4c77bb2e22d2016826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106579190611fcd565b836001600160a01b03166315dae03e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190612001565b84846040516106da9493929190612059565b60405180910390a1816001600160a01b031663638ce0ba6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b505af1158015610731573d6000803e3d6000fd5b505050505050565b6000610746600883611830565b90505b919050565b61077176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120a4565b6107ac81600661184d565b6040518181527f9e6d5f1811033619318d2fbe9ee7ec46c830175b39f7885248b51e0decb5837a9060200160405180910390a160006107ea82610b99565b9050806001600160a01b031663be169e7e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b61084874436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146108785760405162461bcd60e51b8152600401610453906120ef565b61088381600461184d565b6040518181527f45dbc7e529df39b8d70de83cc9e1d38c088e6ba21ab836e976f7310f1cbb8afd9060200160405180910390a160006108c182610b99565b9050806001600160a01b031663d73cd9926040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a60086118e7565b905090565b60006001600160a01b0382166109735760405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3030363a434f4d504f4e454e545f414444524553535f6044820152635a45524f60e01b6064820152608401610453565b506001600160a01b038116600090815260046020526040902054806107495760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a4343522d3030373a434f4d504f4e454e545f554e4b4e4f574e006044820152606401610453565b6000610746600683611830565b610a0a76496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610a3a5760405162461bcd60e51b8152600401610453906120a4565b610a4581600361184d565b6040518181527fd24597f0a62b78258ebd8c2fa52051cf673a5000d14d2fb619c91b1ed95c538a9060200160405180910390a16000610a8382610b99565b9050806001600160a01b031663a18f5ae26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b610ae376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610b135760405162461bcd60e51b8152600401610453906120a4565b610b1e81600561184d565b6040518181527f55d2d8495549e354e6ee012c5aa183eb0e08ee2f256349afb0f7f74d1940f9b39060200160405180910390a16000610b5c82610b99565b9050806001600160a01b031663b3fca9bd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000818152600260205260409020546001600160a01b0316806107495760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030353a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b60006001826002811115610c2d57634e487b7160e01b600052602160045260246000fd5b1415610cc057600160009054906101000a90046001600160a01b03166001600160a01b031663775a40486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb99190611fcd565b9050610749565b6000826002811115610ce257634e487b7160e01b600052602160045260246000fd5b1415610d3657600160009054906101000a90046001600160a01b03166001600160a01b031663d49d21c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b6002826002811115610d5857634e487b7160e01b600052602160045260246000fd5b1415610dac57600160009054906101000a90046001600160a01b03166001600160a01b0316633ffdd2f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b60405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3031303a434f4d504f4e454e545f545950455f554e4b6044820152632727aba760e11b6064820152608401610453565b610e2174436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120ef565b60006107466006836118f1565b610e8176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610eb15760405162461bcd60e51b8152600401610453906120a4565b610ebc81600261184d565b6040518181527fd541b5f22e9e402fb32220d566405510c49372d27b4f47f1d0da1a153ea2007c9060200160405180910390a16000610efa82610b99565b9050806001600160a01b031663bd1fe5d06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a600a6118e7565b60006107466008836118f1565b610f7376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610fa35760405162461bcd60e51b8152600401610453906120a4565b610fae81600361184d565b6000610fb982610b99565b9050610fc4826109da565b1561106757806001600160a01b031663637d08f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a9190611f91565b6000838152600d6020526040902080546001600160a01b0319166001600160a01b03929092169190911790555b6040518281527ff8d33755281aa5d41b12a70ae3947ee164ef541d786400d733b0b89df719859e9060200160405180910390a1806001600160a01b0316631b867c636040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a83611830565b600054610100900460ff16158080156111025750600054600160ff909116105b8061111c5750303b15801561111c575060005460ff166001145b61117f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610453565b6000805460ff1916600117905580156111a2576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790556111cc600090565b6541636365737360d01b1461120e576111ed6541636365737360d01b611460565b600180546001600160a01b0319166001600160a01b03929092169190911790555b6112166118fd565b801561125c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061090a60066118e7565b6000611279600683611830565b1561128657506001610749565b611291600883611830565b1561129e57506000610749565b6112a9600a83611830565b156112b657506002610749565b60405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030383a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b6000611314826109da565b6113605760405162461bcd60e51b815260206004820181905260248201527f4552524f523a4343522d3031313a554e4b4e4f574e5f50524f445543545f49446044820152606401610453565b506000908152600d60205260409020546001600160a01b031690565b61139d74436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146113cd5760405162461bcd60e51b8152600401610453906120ef565b6113d881600361184d565b6040518181527f8e78ca4cc29c505d9901fd1582ba8584083396ce204151eddd3e008749a24fe09060200160405180910390a1600061141682610b99565b9050806001600160a01b03166359dacc6a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a836118f1565b60008054604051631c2d8fb360e31b815260048101849052620100009091046001600160a01b03169063e16c7d989060240160206040518083038186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e29190611f91565b90506001600160a01b0381166107495760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4352432d3030343a434f4e54524143545f4e4f545f5245474953604482015264151154915160da1b6064820152608401610453565b600c80546000918261155983612161565b9190505550600c54905061156e81600161184d565b60405163d0e0ba9560e01b8152600481018290526001600160a01b0383169063d0e0ba9590602401600060405180830381600087803b1580156115b057600080fd5b505af11580156115c4573d6000803e3d6000fd5b505050600082815260026020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516305f5f79f60e21b815291518695506003949391926317d7de7c926004808301939192829003018186803b15801561162d57600080fd5b505afa158015611641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116659190611fcd565b8152602001908152602001600020819055508060046000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550816001600160a01b031663e0815f0d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116da57600080fd5b505afa1580156116ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117129190611fad565b156117285761172260068261196a565b50610749565b816001600160a01b0316639a82f8906040518163ffffffff1660e01b815260040160206040518083038186803b15801561176157600080fd5b505afa158015611775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117999190611fad565b156117a95761172260088261196a565b816001600160a01b031663258d560c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117e257600080fd5b505afa1580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181a9190611fad565b156107495761182a600a8261196a565b50919050565b600081815260018301602052604081205415155b90505b92915050565b60008281526005602052604090205460ff166118698183611976565b6000838152600560205260409020805483919060ff191660018360068111156118a257634e487b7160e01b600052602160045260246000fd5b02179055507fd2248d3e400f6333d5de6d43446115557cb942e75002aa7ad26f9cac9b105b1a8382846040516118da93929190612138565b60405180910390a1505050565b6000610746825490565b60006118448383611ee7565b600054610100900460ff166119685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610453565b565b60006118448383611f1f565b81600681111561199657634e487b7160e01b600052602160045260246000fd5b8160068111156119b657634e487b7160e01b600052602160045260246000fd5b1415611a1c5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4343522d3032303a534f555243455f414e445f5441524745545f60448201526e14d510551157d2511153951250d053608a1b6064820152608401610453565b6000826006811115611a3e57634e487b7160e01b600052602160045260246000fd5b1415611ac9576001816006811115611a6657634e487b7160e01b600052602160045260246000fd5b14611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d3032313a435245415445445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b61125c565b6001826006811115611aeb57634e487b7160e01b600052602160045260246000fd5b1415611b9b576003816006811115611b1357634e487b7160e01b600052602160045260246000fd5b1480611b3e57506002816006811115611b3c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d32323a50524f504f5345445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b6002826006811115611bbd57634e487b7160e01b600052602160045260246000fd5b1415611c195760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4343522d3032333a4445434c494e45445f49535f46494e414c5f604482015264535441544560d81b6064820152608401610453565b6003826006811115611c3b57634e487b7160e01b600052602160045260246000fd5b1415611cea576004816006811115611c6357634e487b7160e01b600052602160045260246000fd5b1480611c8e57506005816006811115611c8c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032343a4143544956455f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6004826006811115611d0c57634e487b7160e01b600052602160045260246000fd5b1415611dbb576003816006811115611d3457634e487b7160e01b600052602160045260246000fd5b1480611d5f57506006816006811115611d5d57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032353a5041555345445f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6005826006811115611ddd57634e487b7160e01b600052602160045260246000fd5b1415611e8f576003816006811115611e0557634e487b7160e01b600052602160045260246000fd5b1480611e3057506006816006811115611e2e57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602a60248201527f4552524f523a4343522d3032363a53555350454e4445445f494e56414c49445f6044820152692a2920a729a4aa24a7a760b11b6064820152608401610453565b60405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032373a494e495449414c5f53544154455f4e4f545f6044820152661210539113115160ca1b6064820152608401610453565b6000826000018281548110611f0c57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000818152600183016020526040812054611f6657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611847565b506000611847565b600060208284031215611f7f578081fd5b8135611f8a8161219e565b9392505050565b600060208284031215611fa2578081fd5b8151611f8a8161219e565b600060208284031215611fbe578081fd5b81518015158114611f8a578182fd5b600060208284031215611fde578081fd5b5051919050565b600060208284031215611ff6578081fd5b8135611f8a816121b6565b600060208284031215612012578081fd5b8151611f8a816121b6565b60006020828403121561202e578081fd5b5035919050565b6007811061204557612045612188565b9052565b6003811061204557612045612188565b8481526080810161206d6020830186612049565b6001600160a01b039390931660408201526060015292915050565b602081016118478284612035565b602081016118478284612049565b6020808252602b908201527f4552524f523a4343522d3030323a4e4f545f494e5354414e43455f4f5045524160408201526a544f525f5345525649434560a81b606082015260800190565b60208082526029908201527f4552524f523a4343522d3030313a4e4f545f434f4d504f4e454e545f4f574e45604082015268525f5345525649434560b81b606082015260800190565b8381526060810161214c6020830185612035565b6121596040830184612035565b949350505050565b600060001982141561218157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03811681146121b357600080fd5b50565b600381106121b357600080fdfea2646970667358221220239e785517af061b5c5ae41c8c18b201918c39f50c574aaf6093486f31b67fcc64736f6c63430008020033",
  "bytecodeSha1": "3d89abf82cc5c93978773b011da0e2c40ddbc763",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "ComponentController",
  "coverageMap": {
    "branches": {
      "1": {
        "CoreController._afterInitialize": {
          "128": [
            4888,
            4901,
            true
          ]
        }
      },
      "10": {},
      "11": {},
      "16": {},
      "18": {
        "ComponentController._checkStateTransition": {
          "110": [
            10163,
            10183,
            true
          ],
          "111": [
            10274,
            10319,
            false
          ],
          "112": [
            10344,
            10390,
            true
          ],
          "113": [
            10475,
            10521,
            false
          ],
          "114": [
            10546,
            10590,
            true
          ],
          "115": [
            10612,
            10658,
            true
          ],
          "116": [
            10743,
            10789,
            false
          ],
          "117": [
            10875,
            10919,
            false
          ],
          "118": [
            10944,
            10988,
            true
          ],
          "119": [
            11010,
            11057,
            true
          ],
          "120": [
            11141,
            11185,
            false
          ],
          "121": [
            11210,
            11254,
            true
          ],
          "122": [
            11275,
            11321,
            true
          ],
          "123": [
            11405,
            11452,
            false
          ],
          "124": [
            11477,
            11521,
            true
          ],
          "125": [
            11542,
            11588,
            true
          ]
        },
        "ComponentController._persistComponent": {
          "107": [
            3014,
            3035,
            false
          ],
          "108": [
            3093,
            3113,
            false
          ],
          "109": [
            3170,
            3192,
            false
          ]
        },
        "ComponentController.approve": {
          "101": [
            3640,
            3653,
            false
          ]
        },
        "ComponentController.getComponent": {
          "96": [
            6545,
            6577,
            true
          ]
        },
        "ComponentController.getComponentId": {
          "94": [
            6734,
            6764,
            true
          ],
          "95": [
            6881,
            6887,
            true
          ]
        },
        "ComponentController.getComponentType": {
          "102": [
            7053,
            7090,
            false
          ],
          "103": [
            7168,
            7204,
            false
          ],
          "104": [
            7281,
            7319,
            false
          ]
        },
        "ComponentController.getPolicyFlow": {
          "105": [
            9425,
            9445,
            true
          ]
        },
        "ComponentController.getRequiredRole": {
          "97": [
            8170,
            8219,
            false
          ],
          "98": [
            8281,
            8329,
            false
          ],
          "99": [
            8393,
            8443,
            false
          ]
        },
        "ComponentController.propose": {
          "92": [
            1806,
            1852,
            true
          ],
          "93": [
            1914,
            1958,
            true
          ]
        },
        "Context._msgSender": {
          "100": [
            1508,
            1570,
            true
          ],
          "106": [
            1289,
            1349,
            true
          ]
        }
      },
      "22": {
        "CoreController._getContractAddress": {
          "127": [
            1724,
            1753,
            true
          ]
        },
        "CoreController.initialize": {
          "126": [
            1255,
            1277,
            false
          ]
        }
      },
      "27": {},
      "29": {},
      "33": {},
      "35": {},
      "38": {}
    },
    "statements": {
      "1": {},
      "10": {
        "Address.isContract": {
          "43": [
            1458,
            1488
          ]
        }
      },
      "11": {
        "Context._msgSender": {
          "3": [
            712,
            729
          ]
        }
      },
      "16": {
        "EnumerableSet._add": {
          "88": [
            2234,
            2257
          ],
          "89": [
            2392,
            2432
          ],
          "90": [
            2446,
            2457
          ],
          "91": [
            2488,
            2500
          ]
        },
        "EnumerableSet._at": {
          "87": [
            4897,
            4922
          ]
        },
        "EnumerableSet._contains": {
          "70": [
            4243,
            4274
          ]
        },
        "EnumerableSet._length": {
          "76": [
            4437,
            4462
          ]
        },
        "EnumerableSet.add": {
          "78": [
            10599,
            10638
          ]
        },
        "EnumerableSet.at": {
          "77": [
            11798,
            11836
          ]
        },
        "EnumerableSet.contains": {
          "71": [
            11122,
            11166
          ]
        },
        "EnumerableSet.length": {
          "75": [
            11333,
            11359
          ]
        }
      },
      "18": {
        "ComponentController._changeState": {
          "72": [
            9733,
            9774
          ],
          "73": [
            9785,
            9824
          ],
          "74": [
            9897,
            9959
          ]
        },
        "ComponentController._checkStateTransition": {
          "79": [
            10155,
            10249
          ],
          "80": [
            10336,
            10453
          ],
          "81": [
            10538,
            10721
          ],
          "82": [
            10806,
            10853
          ],
          "83": [
            10936,
            11119
          ],
          "84": [
            11202,
            11383
          ],
          "85": [
            11469,
            11653
          ],
          "86": [
            11686,
            11735
          ]
        },
        "ComponentController._persistComponent": {
          "60": [
            2582,
            2599
          ],
          "61": [
            2610,
            2630
          ],
          "62": [
            2678,
            2730
          ],
          "63": [
            2741,
            2760
          ],
          "64": [
            2816,
            2846
          ],
          "65": [
            2857,
            2901
          ],
          "66": [
            2912,
            2958
          ],
          "67": [
            3039,
            3071
          ],
          "68": [
            3117,
            3148
          ],
          "69": [
            3196,
            3229
          ]
        },
        "ComponentController.approve": {
          "38": [
            3523,
            3573
          ],
          "39": [
            3670,
            3743
          ],
          "40": [
            3767,
            3796
          ],
          "41": [
            3872,
            3900
          ]
        },
        "ComponentController.archiveFromInstanceOperator": {
          "9": [
            6157,
            6209
          ],
          "10": [
            6220,
            6249
          ],
          "11": [
            6365,
            6392
          ]
        },
        "ComponentController.components": {
          "2": [
            8629,
            8651
          ]
        },
        "ComponentController.decline": {
          "33": [
            4018,
            4070
          ],
          "34": [
            4081,
            4110
          ],
          "35": [
            4224,
            4251
          ]
        },
        "ComponentController.exists": {
          "0": [
            3364,
            3405
          ]
        },
        "ComponentController.getComponent": {
          "26": [
            6496,
            6526
          ],
          "27": [
            6537,
            6616
          ]
        },
        "ComponentController.getComponentId": {
          "16": [
            6726,
            6805
          ],
          "17": [
            6816,
            6860
          ],
          "18": [
            6873,
            6923
          ]
        },
        "ComponentController.getComponentState": {
          "1": [
            7593,
            7619
          ]
        },
        "ComponentController.getComponentType": {
          "48": [
            7107,
            7146
          ],
          "49": [
            7221,
            7259
          ],
          "50": [
            7336,
            7376
          ],
          "51": [
            7409,
            7453
          ]
        },
        "ComponentController.getOracleId": {
          "37": [
            7719,
            7757
          ]
        },
        "ComponentController.getPolicyFlow": {
          "52": [
            9417,
            9482
          ],
          "53": [
            9493,
            9540
          ]
        },
        "ComponentController.getProductId": {
          "32": [
            8003,
            8042
          ]
        },
        "ComponentController.getRequiredRole": {
          "28": [
            8223,
            8259
          ],
          "29": [
            8333,
            8371
          ],
          "30": [
            8447,
            8485
          ],
          "31": [
            8505,
            8551
          ]
        },
        "ComponentController.getRiskpoolId": {
          "57": [
            7861,
            7901
          ]
        },
        "ComponentController.isOracle": {
          "8": [
            9151,
            9194
          ]
        },
        "ComponentController.isProduct": {
          "19": [
            9037,
            9081
          ]
        },
        "ComponentController.isRiskpool": {
          "42": [
            9266,
            9311
          ]
        },
        "ComponentController.oracles": {
          "15": [
            8822,
            8859
          ]
        },
        "ComponentController.pause": {
          "12": [
            5071,
            5121
          ],
          "13": [
            5132,
            5159
          ],
          "14": [
            5273,
            5298
          ]
        },
        "ComponentController.products": {
          "47": [
            8718,
            8756
          ]
        },
        "ComponentController.propose": {
          "4": [
            1798,
            1895
          ],
          "5": [
            1906,
            2006
          ],
          "6": [
            2169,
            2313
          ],
          "7": [
            2389,
            2417
          ]
        },
        "ComponentController.resume": {
          "20": [
            4726,
            4776
          ],
          "21": [
            4787,
            4815
          ],
          "22": [
            4930,
            4956
          ]
        },
        "ComponentController.riskpools": {
          "36": [
            8927,
            8966
          ]
        },
        "ComponentController.suspend": {
          "23": [
            4370,
            4423
          ],
          "24": [
            4434,
            4464
          ],
          "25": [
            4581,
            4608
          ]
        },
        "ComponentController.unpause": {
          "54": [
            5415,
            5465
          ],
          "55": [
            5476,
            5505
          ],
          "56": [
            5621,
            5648
          ]
        }
      },
      "22": {
        "CoreController._getContractAddress": {
          "58": [
            1640,
            1693
          ],
          "59": [
            1703,
            1816
          ]
        },
        "CoreController.initialize": {
          "44": [
            1210,
            1241
          ],
          "45": [
            1281,
            1329
          ],
          "46": [
            1350,
            1368
          ]
        }
      },
      "27": {},
      "29": {},
      "33": {},
      "35": {},
      "38": {}
    }
  },
  "dependencies": [
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Address",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Context",
    "etherisc/gif-contracts@b58fd27/CoreController",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/EnumerableSet",
    "etherisc/gif-interface@3b0002a/IAccess",
    "etherisc/gif-interface@3b0002a/IComponent",
    "etherisc/gif-interface@3b0002a/IComponentEvents",
    "etherisc/gif-interface@3b0002a/IProduct",
    "etherisc/gif-interface@3b0002a/IRegistry",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Initializable"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106101a95760003560e01c80636bc607b3116100f9578063ba80b8ed11610097578063dd51c86a11610071578063dd51c86a146103a9578063e61ae297146103c9578063fabc1cbc146103dc578063ff3f3883146103ef576101a9565b8063ba80b8ed1461037b578063c4d66de81461038e578063c71e261f146103a1576101a9565b8063a054381f116100d3578063a054381f14610345578063a5c0f5a11461034d578063b759f95414610360578063ba62fbe414610373576101a9565b80636bc607b31461030c5780639f77a6051461031f578063a0355f4e14610332576101a9565b80633920200c116101665780634f27da18116101405780634f27da18146102735780634f558e791461029e5780635af89a47146102c95780635e966e45146102dc576101a9565b80633920200c1461023a578063414000b51461024d5780634b86584614610260576101a9565b806301267951146101ae57806309f63ed9146101c35780630f5da3a6146101eb578063136439dd146101fe5780632857373a146102115780632b1c7f7314610227575b600080fd5b6101c16101bc366004611f6e565b610402565b005b6101d66101d136600461201d565b610739565b60405190151581526020015b60405180910390f35b6101c16101f936600461201d565b61074e565b6101c161020c36600461201d565b610827565b6102196108fe565b6040519081526020016101e2565b610219610235366004611f6e565b61090f565b6101d661024836600461201d565b6109da565b6101c161025b36600461201d565b6109e7565b6101c161026e36600461201d565b610ac0565b61028661028136600461201d565b610b99565b6040516001600160a01b0390911681526020016101e2565b6101d66102ac36600461201d565b6000908152600260205260409020546001600160a01b0316151590565b6102196102d7366004611fe5565b610c09565b6102ff6102ea36600461201d565b60009081526005602052604090205460ff1690565b6040516101e29190612088565b6101c161031a36600461201d565b610e00565b61021961032d36600461201d565b610e51565b6101c161034036600461201d565b610e5e565b610219610f37565b61021961035b36600461201d565b610f43565b6101c161036e36600461201d565b610f50565b600c54610219565b6101d661038936600461201d565b6110d5565b6101c161039c366004611f6e565b6110e2565b610219611260565b6103bc6103b736600461201d565b61126c565b6040516101e29190612096565b6102866103d736600461201d565b611309565b6101c16103ea36600461201d565b61137c565b6102196103fd36600461201d565b611453565b61042374436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b03161461045c5760405162461bcd60e51b8152600401610453906120ef565b60405180910390fd5b6001600160a01b038116600090815260046020526040902054156104d15760405162461bcd60e51b815260206004820152602660248201527f4552524f523a4343522d3030333a434f4d504f4e454e545f414c52454144595f60448201526545584953545360d01b6064820152608401610453565b60036000826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050e57600080fd5b505afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190611fcd565b8152602001908152602001600020546000146105b85760405162461bcd60e51b815260206004820152602b60248201527f4552524f523a4343522d3030343a434f4d504f4e454e545f4e414d455f414c5260448201526a454144595f45584953545360a81b6064820152608401610453565b60006105c382611548565b90507fd9b3d18a6293c46c667fe6a98468c457078489f2e16e356bb4c77bb2e22d2016826001600160a01b03166317d7de7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106579190611fcd565b836001600160a01b03166315dae03e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c89190612001565b84846040516106da9493929190612059565b60405180910390a1816001600160a01b031663638ce0ba6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b505af1158015610731573d6000803e3d6000fd5b505050505050565b6000610746600883611830565b90505b919050565b61077176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120a4565b6107ac81600661184d565b6040518181527f9e6d5f1811033619318d2fbe9ee7ec46c830175b39f7885248b51e0decb5837a9060200160405180910390a160006107ea82610b99565b9050806001600160a01b031663be169e7e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b61084874436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146108785760405162461bcd60e51b8152600401610453906120ef565b61088381600461184d565b6040518181527f45dbc7e529df39b8d70de83cc9e1d38c088e6ba21ab836e976f7310f1cbb8afd9060200160405180910390a160006108c182610b99565b9050806001600160a01b031663d73cd9926040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a60086118e7565b905090565b60006001600160a01b0382166109735760405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3030363a434f4d504f4e454e545f414444524553535f6044820152635a45524f60e01b6064820152608401610453565b506001600160a01b038116600090815260046020526040902054806107495760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a4343522d3030373a434f4d504f4e454e545f554e4b4e4f574e006044820152606401610453565b6000610746600683611830565b610a0a76496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610a3a5760405162461bcd60e51b8152600401610453906120a4565b610a4581600361184d565b6040518181527fd24597f0a62b78258ebd8c2fa52051cf673a5000d14d2fb619c91b1ed95c538a9060200160405180910390a16000610a8382610b99565b9050806001600160a01b031663a18f5ae26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b610ae376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610b135760405162461bcd60e51b8152600401610453906120a4565b610b1e81600561184d565b6040518181527f55d2d8495549e354e6ee012c5aa183eb0e08ee2f256349afb0f7f74d1940f9b39060200160405180910390a16000610b5c82610b99565b9050806001600160a01b031663b3fca9bd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000818152600260205260409020546001600160a01b0316806107495760405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030353a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b60006001826002811115610c2d57634e487b7160e01b600052602160045260246000fd5b1415610cc057600160009054906101000a90046001600160a01b03166001600160a01b031663775a40486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b505afa158015610c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb99190611fcd565b9050610749565b6000826002811115610ce257634e487b7160e01b600052602160045260246000fd5b1415610d3657600160009054906101000a90046001600160a01b03166001600160a01b031663d49d21c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b6002826002811115610d5857634e487b7160e01b600052602160045260246000fd5b1415610dac57600160009054906101000a90046001600160a01b03166001600160a01b0316633ffdd2f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610c8157600080fd5b60405162461bcd60e51b8152602060048201526024808201527f4552524f523a4343522d3031303a434f4d504f4e454e545f545950455f554e4b6044820152632727aba760e11b6064820152608401610453565b610e2174436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146107a15760405162461bcd60e51b8152600401610453906120ef565b60006107466006836118f1565b610e8176496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610eb15760405162461bcd60e51b8152600401610453906120a4565b610ebc81600261184d565b6040518181527fd541b5f22e9e402fb32220d566405510c49372d27b4f47f1d0da1a153ea2007c9060200160405180910390a16000610efa82610b99565b9050806001600160a01b031663bd1fe5d06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b600061090a600a6118e7565b60006107466008836118f1565b610f7376496e7374616e63654f70657261746f725365727669636560481b611460565b6001600160a01b0316336001600160a01b031614610fa35760405162461bcd60e51b8152600401610453906120a4565b610fae81600361184d565b6000610fb982610b99565b9050610fc4826109da565b1561106757806001600160a01b031663637d08f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a9190611f91565b6000838152600d6020526040902080546001600160a01b0319166001600160a01b03929092169190911790555b6040518281527ff8d33755281aa5d41b12a70ae3947ee164ef541d786400d733b0b89df719859e9060200160405180910390a1806001600160a01b0316631b867c636040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a83611830565b600054610100900460ff16158080156111025750600054600160ff909116105b8061111c5750303b15801561111c575060005460ff166001145b61117f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610453565b6000805460ff1916600117905580156111a2576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790556111cc600090565b6541636365737360d01b1461120e576111ed6541636365737360d01b611460565b600180546001600160a01b0319166001600160a01b03929092169190911790555b6112166118fd565b801561125c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061090a60066118e7565b6000611279600683611830565b1561128657506001610749565b611291600883611830565b1561129e57506000610749565b6112a9600a83611830565b156112b657506002610749565b60405162461bcd60e51b815260206004820152602260248201527f4552524f523a4343522d3030383a494e56414c49445f434f4d504f4e454e545f604482015261125160f21b6064820152608401610453565b6000611314826109da565b6113605760405162461bcd60e51b815260206004820181905260248201527f4552524f523a4343522d3031313a554e4b4e4f574e5f50524f445543545f49446044820152606401610453565b506000908152600d60205260409020546001600160a01b031690565b61139d74436f6d706f6e656e744f776e65725365727669636560581b611460565b6001600160a01b0316336001600160a01b0316146113cd5760405162461bcd60e51b8152600401610453906120ef565b6113d881600361184d565b6040518181527f8e78ca4cc29c505d9901fd1582ba8584083396ce204151eddd3e008749a24fe09060200160405180910390a1600061141682610b99565b9050806001600160a01b03166359dacc6a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561071d57600080fd5b6000610746600a836118f1565b60008054604051631c2d8fb360e31b815260048101849052620100009091046001600160a01b03169063e16c7d989060240160206040518083038186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e29190611f91565b90506001600160a01b0381166107495760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4352432d3030343a434f4e54524143545f4e4f545f5245474953604482015264151154915160da1b6064820152608401610453565b600c80546000918261155983612161565b9190505550600c54905061156e81600161184d565b60405163d0e0ba9560e01b8152600481018290526001600160a01b0383169063d0e0ba9590602401600060405180830381600087803b1580156115b057600080fd5b505af11580156115c4573d6000803e3d6000fd5b505050600082815260026020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516305f5f79f60e21b815291518695506003949391926317d7de7c926004808301939192829003018186803b15801561162d57600080fd5b505afa158015611641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116659190611fcd565b8152602001908152602001600020819055508060046000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550816001600160a01b031663e0815f0d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116da57600080fd5b505afa1580156116ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117129190611fad565b156117285761172260068261196a565b50610749565b816001600160a01b0316639a82f8906040518163ffffffff1660e01b815260040160206040518083038186803b15801561176157600080fd5b505afa158015611775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117999190611fad565b156117a95761172260088261196a565b816001600160a01b031663258d560c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117e257600080fd5b505afa1580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181a9190611fad565b156107495761182a600a8261196a565b50919050565b600081815260018301602052604081205415155b90505b92915050565b60008281526005602052604090205460ff166118698183611976565b6000838152600560205260409020805483919060ff191660018360068111156118a257634e487b7160e01b600052602160045260246000fd5b02179055507fd2248d3e400f6333d5de6d43446115557cb942e75002aa7ad26f9cac9b105b1a8382846040516118da93929190612138565b60405180910390a1505050565b6000610746825490565b60006118448383611ee7565b600054610100900460ff166119685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610453565b565b60006118448383611f1f565b81600681111561199657634e487b7160e01b600052602160045260246000fd5b8160068111156119b657634e487b7160e01b600052602160045260246000fd5b1415611a1c5760405162461bcd60e51b815260206004820152602f60248201527f4552524f523a4343522d3032303a534f555243455f414e445f5441524745545f60448201526e14d510551157d2511153951250d053608a1b6064820152608401610453565b6000826006811115611a3e57634e487b7160e01b600052602160045260246000fd5b1415611ac9576001816006811115611a6657634e487b7160e01b600052602160045260246000fd5b14611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d3032313a435245415445445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b61125c565b6001826006811115611aeb57634e487b7160e01b600052602160045260246000fd5b1415611b9b576003816006811115611b1357634e487b7160e01b600052602160045260246000fd5b1480611b3e57506002816006811115611b3c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602860248201527f4552524f523a4343522d32323a50524f504f5345445f494e56414c49445f545260448201526720a729a4aa24a7a760c11b6064820152608401610453565b6002826006811115611bbd57634e487b7160e01b600052602160045260246000fd5b1415611c195760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4343522d3032333a4445434c494e45445f49535f46494e414c5f604482015264535441544560d81b6064820152608401610453565b6003826006811115611c3b57634e487b7160e01b600052602160045260246000fd5b1415611cea576004816006811115611c6357634e487b7160e01b600052602160045260246000fd5b1480611c8e57506005816006811115611c8c57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032343a4143544956455f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6004826006811115611d0c57634e487b7160e01b600052602160045260246000fd5b1415611dbb576003816006811115611d3457634e487b7160e01b600052602160045260246000fd5b1480611d5f57506006816006811115611d5d57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032353a5041555345445f494e56414c49445f5452416044820152662729a4aa24a7a760c91b6064820152608401610453565b6005826006811115611ddd57634e487b7160e01b600052602160045260246000fd5b1415611e8f576003816006811115611e0557634e487b7160e01b600052602160045260246000fd5b1480611e3057506006816006811115611e2e57634e487b7160e01b600052602160045260246000fd5b145b611ac45760405162461bcd60e51b815260206004820152602a60248201527f4552524f523a4343522d3032363a53555350454e4445445f494e56414c49445f6044820152692a2920a729a4aa24a7a760b11b6064820152608401610453565b60405162461bcd60e51b815260206004820152602760248201527f4552524f523a4343522d3032373a494e495449414c5f53544154455f4e4f545f6044820152661210539113115160ca1b6064820152608401610453565b6000826000018281548110611f0c57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000818152600183016020526040812054611f6657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611847565b506000611847565b600060208284031215611f7f578081fd5b8135611f8a8161219e565b9392505050565b600060208284031215611fa2578081fd5b8151611f8a8161219e565b600060208284031215611fbe578081fd5b81518015158114611f8a578182fd5b600060208284031215611fde578081fd5b5051919050565b600060208284031215611ff6578081fd5b8135611f8a816121b6565b600060208284031215612012578081fd5b8151611f8a816121b6565b60006020828403121561202e578081fd5b5035919050565b6007811061204557612045612188565b9052565b6003811061204557612045612188565b8481526080810161206d6020830186612049565b6001600160a01b039390931660408201526060015292915050565b602081016118478284612035565b602081016118478284612049565b6020808252602b908201527f4552524f523a4343522d3030323a4e4f545f494e5354414e43455f4f5045524160408201526a544f525f5345525649434560a81b606082015260800190565b60208082526029908201527f4552524f523a4343522d3030313a4e4f545f434f4d504f4e454e545f4f574e45604082015268525f5345525649434560b81b606082015260800190565b8381526060810161214c6020830185612035565b6121596040830184612035565b949350505050565b600060001982141561218157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03811681146121b357600080fd5b50565b600381106121b357600080fdfea2646970667358221220239e785517af061b5c5ae41c8c18b201918c39f50c574aaf6093486f31b67fcc64736f6c63430008020033",
  "deployedSourceMap": "527:11230:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1659:766;;;;;;:::i;:::-;;:::i;:::-;;9092:105;;;;;;:::i;:::-;;:::i;:::-;;;2780:14:67;;2773:22;2755:41;;2743:2;2728:18;9092:105:18;;;;;;;;6034:366;;;;;;:::i;:::-;;:::i;4972:334::-;;;;;;:::i;:::-;;:::i;8765:97::-;;;:::i;:::-;;;2953:25:67;;;2941:2;2926:18;8765:97:18;2908:76:67;6632:299:18;;;;;;:::i;:::-;;:::i;8977:107::-;;;;;;:::i;:::-;;:::i;4624:340::-;;;;;;:::i;:::-;;:::i;4267:349::-;;;;;;:::i;:::-;;:::i;6408:216::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2571:32:67;;;2553:51;;2541:2;2526:18;6408:216:18;2508:102:67;3247:166:18;;;;;;:::i;:::-;3295:4;3335:18;;;:14;:18;;;;;;-1:-1:-1;;;;;3335:18:18;3372:32;;;3247:166;8058:503;;;;;;:::i;:::-;;:::i;7480:147::-;;;;;;:::i;:::-;7540:40;7600:19;;;:15;:19;;;;;;;;;7480:147;;;;;;;;:::i;5664:362::-;;;;;;:::i;:::-;;:::i;7917:133::-;;;;;;:::i;:::-;;:::i;3916:343::-;;;;;;:::i;:::-;;:::i;8868:101::-;;;:::i;7635:130::-;;;;;;:::i;:::-;;:::i;3421:487::-;;;;;;:::i;:::-;;:::i;8569:85::-;8636:15;;8569:85;;9205:109;;;;;;:::i;:::-;;:::i;1143:232:22:-;;;;;;:::i;:::-;;:::i;8660:99:18:-;;;:::i;6939:533::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9322:226::-;;;;;;:::i;:::-;;:::i;5314:342::-;;;;;;:::i;:::-;;:::i;7773:136::-;;;;;;:::i;:::-;;:::i;1659:766::-;1305:44;-1:-1:-1;;;1305:19:18;:44::i;:::-;-1:-1:-1;;;;;1289:60:18;719:10:11;-1:-1:-1;;;;;1289:60:18;;1267:141;;;;-1:-1:-1;;;1267:141:18;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1806:41:18;::::1;;::::0;;;:21:::1;:41;::::0;;;;;:46;1798:97:::1;;;::::0;-1:-1:-1;;;1798:97:18;;8970:2:67;1798:97:18::1;::::0;::::1;8952:21:67::0;9009:2;8989:18;;;8982:30;9048:34;9028:18;;;9021:62;-1:-1:-1;;;9099:18:67;;;9092:36;9145:19;;1798:97:18::1;8942:228:67::0;1798:97:18::1;1914:18;:39;1933:9;-1:-1:-1::0;;;;;1933:17:18::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1914:39;;;;;;;;;;;;1957:1;1914:44;1906:100;;;::::0;-1:-1:-1;;;1906:100:18;;12195:2:67;1906:100:18::1;::::0;::::1;12177:21:67::0;12234:2;12214:18;;;12207:30;12273:34;12253:18;;;12246:62;-1:-1:-1;;;12324:18:67;;;12317:41;12375:19;;1906:100:18::1;12167:233:67::0;1906:100:18::1;2069:10;2082:28;2100:9;2082:17;:28::i;:::-;2069:41;;2174:139;2209:9;-1:-1:-1::0;;;;;2209:17:18::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2243:9;-1:-1:-1::0;;;;;2243:17:18::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2285:9;2310:2;2174:139;;;;;;;;;:::i;:::-;;;;;;;;2389:9;-1:-1:-1::0;;;;;2389:26:18::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1419:1;1659:766:::0;:::o;9092:105::-;9143:4;9158:36;9181:8;9191:2;9158:22;:36::i;:::-;9151:43;;9092:105;;;;:::o;6034:366::-;1524:46;-1:-1:-1;;;1524:19:18;:46::i;:::-;-1:-1:-1;;;;;1508:62:18;719:10:11;-1:-1:-1;;;;;1508:62:18;;1486:145;;;;-1:-1:-1;;;1486:145:18;;;;;;;:::i;:::-;6157:52:::1;6170:2;6174:34;6157:12;:52::i;:::-;6225:24;::::0;2953:25:67;;;6225:24:18::1;::::0;2941:2:67;2926:18;6225:24:18::1;;;;;;;6315:20;6338:16;6351:2;6338:12;:16::i;:::-;6315:39;;6365:9;-1:-1:-1::0;;;;;6365:25:18::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;4972:334:::0;1305:44;-1:-1:-1;;;1305:19:18;:44::i;:::-;-1:-1:-1;;;;;1289:60:18;719:10:11;-1:-1:-1;;;;;1289:60:18;;1267:141;;;;-1:-1:-1;;;1267:141:18;;;;;;;:::i;:::-;5071:50:::1;5084:2;5088:32;5071:12;:50::i;:::-;5137:22;::::0;2953:25:67;;;5137:22:18::1;::::0;2941:2:67;2926:18;5137:22:18::1;;;;;;;5223:20;5246:16;5259:2;5246:12;:16::i;:::-;5223:39;;5273:9;-1:-1:-1::0;;;;;5273:23:18::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;8765:97:::0;8805:13;8829:30;8850:8;8829:20;:30::i;:::-;8822:37;;8765:97;:::o;6632:299::-;6703:10;-1:-1:-1;;;;;6734:30:18;;6726:79;;;;-1:-1:-1;;;6726:79:18;;6571:2:67;6726:79:18;;;6553:21:67;6610:2;6590:18;;;6583:30;6649:34;6629:18;;;6622:62;-1:-1:-1;;;6700:18:67;;;6693:34;6744:19;;6726:79:18;6543:226:67;6726:79:18;-1:-1:-1;;;;;;6821:39:18;;;;;;:21;:39;;;;;;6881:6;6873:50;;;;-1:-1:-1;;;6873:50:18;;8610:2:67;6873:50:18;;;8592:21:67;8649:2;8629:18;;;8622:30;8688:33;8668:18;;;8661:61;8739:18;;6873:50:18;8582:181:67;8977:107:18;9029:4;9044:37;9067:9;9078:2;9044:22;:37::i;4624:340::-;1524:46;-1:-1:-1;;;1524:19:18;:46::i;:::-;-1:-1:-1;;;;;1508:62:18;719:10:11;-1:-1:-1;;;;;1508:62:18;;1486:145;;;;-1:-1:-1;;;1486:145:18;;;;;;;:::i;:::-;4726:50:::1;4739:2;4743:32;4726:12;:50::i;:::-;4792:23;::::0;2953:25:67;;;4792:23:18::1;::::0;2941:2:67;2926:18;4792:23:18::1;;;;;;;4880:20;4903:16;4916:2;4903:12;:16::i;:::-;4880:39;;4930:9;-1:-1:-1::0;;;;;4930:24:18::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;4267:349:::0;1524:46;-1:-1:-1;;;1524:19:18;:46::i;:::-;-1:-1:-1;;;;;1508:62:18;719:10:11;-1:-1:-1;;;;;1508:62:18;;1486:145;;;;-1:-1:-1;;;1486:145:18;;;;;;;:::i;:::-;4370:53:::1;4383:2;4387:35;4370:12;:53::i;:::-;4439:25;::::0;2953::67;;;4439::18::1;::::0;2941:2:67;2926:18;4439:25:18::1;;;;;;;4531:20;4554:16;4567:2;4554:12;:16::i;:::-;4531:39;;4581:9;-1:-1:-1::0;;;;;4581:25:18::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;6408:216:::0;6463:20;6508:18;;;:14;:18;;;;;;-1:-1:-1;;;;;6508:18:18;6545:32;6537:79;;;;-1:-1:-1;;;6537:79:18;;11380:2:67;6537:79:18;;;11362:21:67;11419:2;11399:18;;;11392:30;11458:34;11438:18;;;11431:62;-1:-1:-1;;;11509:18:67;;;11502:32;11551:19;;6537:79:18;11352:224:67;8058:503:18;8146:7;8187:32;8170:13;:49;;;;;;-1:-1:-1;;;8170:49:18;;;;;;;;;;8166:388;;;8230:7;;;;;;;;;-1:-1:-1;;;;;8230:7:18;-1:-1:-1;;;;;8230:27:18;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8223:36;;;;8166:388;8298:31;8281:13;:48;;;;;;-1:-1:-1;;;8281:48:18;;;;;;;;;;8277:277;;;8340:7;;;;;;;;;-1:-1:-1;;;;;8340:7:18;-1:-1:-1;;;;;8340:29:18;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8277:277;8410:33;8393:13;:50;;;;;;-1:-1:-1;;;8393:50:18;;;;;;;;;;8389:165;;;8454:7;;;;;;;;;-1:-1:-1;;;;;8454:7:18;-1:-1:-1;;;;;8454:29:18;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8389:165;8505:46;;-1:-1:-1;;;8505:46:18;;12607:2:67;8505:46:18;;;12589:21:67;12646:2;12626:18;;;12619:30;12685:34;12665:18;;;12658:62;-1:-1:-1;;;12736:18:67;;;12729:34;12780:19;;8505:46:18;12579:226:67;5664:362:18;1305:44;-1:-1:-1;;;1305:19:18;:44::i;:::-;-1:-1:-1;;;;;1289:60:18;719:10:11;-1:-1:-1;;;;;1289:60:18;;1267:141;;;;-1:-1:-1;;;1267:141:18;;;;;;;:::i;7917:133::-;7973:17;8010:32;8027:9;8038:3;8010:16;:32::i;3916:343::-;1524:46;-1:-1:-1;;;1524:19:18;:46::i;:::-;-1:-1:-1;;;;;1508:62:18;719:10:11;-1:-1:-1;;;;;1508:62:18;;1486:145;;;;-1:-1:-1;;;1486:145:18;;;;;;;:::i;:::-;4018:52:::1;4031:2;4035:34;4018:12;:52::i;:::-;4086:24;::::0;2953:25:67;;;4086:24:18::1;::::0;2941:2:67;2926:18;4086:24:18::1;;;;;;;4174:20;4197:16;4210:2;4197:12;:16::i;:::-;4174:39;;4224:9;-1:-1:-1::0;;;;;4224:25:18::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;8868:101:::0;8910:13;8934:32;8955:10;8934:20;:32::i;7635:130::-;7690:16;7726:31;7743:8;7753:3;7726:16;:31::i;3421:487::-;1524:46;-1:-1:-1;;;1524:19:18;:46::i;:::-;-1:-1:-1;;;;;1508:62:18;719:10:11;-1:-1:-1;;;;;1508:62:18;;1486:145;;;;-1:-1:-1;;;1486:145:18;;;;;;;:::i;:::-;3523:50:::1;3536:2;3540:32;3523:12;:50::i;:::-;3584:20;3607:16;3620:2;3607:12;:16::i;:::-;3584:39;;3640:13;3650:2;3640:9;:13::i;:::-;3636:119;;;3716:9;-1:-1:-1::0;;;;;3699:42:18::1;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3670:26;::::0;;;:22:::1;:26;::::0;;;;:73;;-1:-1:-1;;;;;;3670:73:18::1;-1:-1:-1::0;;;;;3670:73:18;;;::::1;::::0;;;::::1;::::0;;3636:119:::1;3772:24;::::0;2953:25:67;;;3772:24:18::1;::::0;2941:2:67;2926:18;3772:24:18::1;;;;;;;3872:9;-1:-1:-1::0;;;;;3872:26:18::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;9205:109:::0;9258:4;9273:38;9296:10;9308:2;9273:22;:38::i;1143:232:22:-;3100:19:1;3123:13;;;;;;3122:14;;3168:34;;;;-1:-1:-1;3186:12:1;;3201:1;3186:12;;;;:16;3168:34;3167:97;;;-1:-1:-1;3236:4:1;1465:19:10;:23;;;3208:55:1;;-1:-1:-1;3246:12:1;;;;;:17;3208:55;3146:190;;;;-1:-1:-1;;;3146:190:1;;10557:2:67;3146:190:1;;;10539:21:67;10596:2;10576:18;;;10569:30;10635:34;10615:18;;;10608:62;-1:-1:-1;;;10686:18:67;;;10679:44;10740:19;;3146:190:1;10529:236:67;3146:190:1;3346:12;:16;;-1:-1:-1;;3346:16:1;3361:1;3346:16;;;3372:65;;;;3406:13;:20;;-1:-1:-1;;3406:20:1;;;;;3372:65;1210:9:22::1;:31:::0;;-1:-1:-1;;;;;;1210:31:22::1;::::0;-1:-1:-1;;;;;1210:31:22;::::1;;;::::0;;1255:10:::1;1431:7:::0;1381:73;;1255:10:::1;-1:-1:-1::0;;;1255:22:22::1;1251:81;;1299:29;-1:-1:-1::0;;;1299:19:22::1;:29::i;:::-;1281:7;:48:::0;;-1:-1:-1;;;;;;1281:48:22::1;-1:-1:-1::0;;;;;1281:48:22;;;::::1;::::0;;;::::1;::::0;;1251:81:::1;1350:18;:16;:18::i;:::-;3461:14:1::0;3457:99;;;3507:5;3491:21;;-1:-1:-1;;3491:21:1;;;3531:14;;-1:-1:-1;4277:36:67;;3531:14:1;;4265:2:67;4250:18;3531:14:1;;;;;;;3457:99;1143:232:22;;:::o;8660:99:18:-;8701:13;8725:31;8746:9;8725:20;:31::i;6939:533::-;6998:38;7053:37;7076:9;7087:2;7053:22;:37::i;:::-;7049:416;;;-1:-1:-1;7114:32:18;7107:39;;7049:416;7168:36;7191:8;7201:2;7168:22;:36::i;:::-;7164:301;;;-1:-1:-1;7228:31:18;7221:38;;7164:301;7281:38;7304:10;7316:2;7281:22;:38::i;:::-;7277:188;;;-1:-1:-1;7343:33:18;7336:40;;7277:188;7409:44;;-1:-1:-1;;;7409:44:18;;9377:2:67;7409:44:18;;;9359:21:67;9416:2;9396:18;;;9389:30;9455:34;9435:18;;;9428:62;-1:-1:-1;;;9506:18:67;;;9499:32;9548:19;;7409:44:18;9349:224:67;9322:226:18;9385:19;9425:20;9435:9;9425;:20::i;:::-;9417:65;;;;-1:-1:-1;;;9417:65:18;;10196:2:67;9417:65:18;;;10178:21:67;;;10215:18;;;10208:30;10274:34;10254:18;;;10247:62;10326:18;;9417:65:18;10168:182:67;9417:65:18;-1:-1:-1;9507:33:18;;;;:22;:33;;;;;;-1:-1:-1;;;;;9507:33:18;;9322:226::o;5314:342::-;1305:44;-1:-1:-1;;;1305:19:18;:44::i;:::-;-1:-1:-1;;;;;1289:60:18;719:10:11;-1:-1:-1;;;;;1289:60:18;;1267:141;;;;-1:-1:-1;;;1267:141:18;;;;;;;:::i;:::-;5415:50:::1;5428:2;5432:32;5415:12;:50::i;:::-;5481:24;::::0;2953:25:67;;;5481:24:18::1;::::0;2941:2:67;2926:18;5481:24:18::1;;;;;;;5571:20;5594:16;5607:2;5594:12;:16::i;:::-;5571:39;;5621:9;-1:-1:-1::0;;;;;5621:25:18::1;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;7773:136:::0;7830:18;7868:33;7885:10;7897:3;7868:16;:33::i;1530:293:22:-;1604:23;1658:9;;:35;;-1:-1:-1;;;1658:35:22;;;;;2953:25:67;;;1658:9:22;;;;-1:-1:-1;;;;;1658:9:22;;:21;;2926:18:67;;1658:35:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1640:53;-1:-1:-1;;;;;;1724:29:22;;1703:113;;;;-1:-1:-1;;;1703:113:22;;4934:2:67;1703:113:22;;;4916:21:67;4973:2;4953:18;;;4946:30;5012:34;4992:18;;;4985:62;-1:-1:-1;;;5063:18:67;;;5056:35;5108:19;;1703:113:22;4906:227:67;2433:806:18;2582:15;:17;;2518:10;;;2582:17;;;:::i;:::-;;;;;;2615:15;;2610:20;;2678:52;2691:2;2695:34;2678:12;:52::i;:::-;2741:19;;-1:-1:-1;;;2741:19:18;;;;;2953:25:67;;;-1:-1:-1;;;;;2741:15:18;;;;;2926:18:67;;2741:19:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2816:18:18;;;;:14;:18;;;;;;;;:30;;-1:-1:-1;;;;;;2816:30:18;-1:-1:-1;;;;;2816:30:18;;;;;;;;2876:19;;-1:-1:-1;;;2876:19:18;;;;2816:18;;-1:-1:-1;2857:18:18;;2816;:30;;2876:17;;:19;;;;;2816:18;;2876:19;;;;;2816:30;2876:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2857:39;;;;;;;;;;;:44;;;;2956:2;2912:21;:41;2942:9;-1:-1:-1;;;;;2912:41:18;-1:-1:-1;;;;;2912:41:18;;;;;;;;;;;;:46;;;;3014:9;-1:-1:-1;;;;;3014:19:18;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3010:222;;;3039:32;3057:9;3068:2;3039:17;:32::i;:::-;;3010:222;;;3093:9;-1:-1:-1;;;;;3093:18:18;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3089:143;;;3117:31;3135:8;3145:2;3117:17;:31::i;3089:143::-;3170:9;-1:-1:-1;;;;;3170:20:18;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3166:66;;;3196:33;3214:10;3226:2;3196:17;:33::i;:::-;;2433:806;;;:::o;11029:144:16:-;11106:4;4250:19;;;:12;;;:19;;;;;;:24;;11129:37;11122:44;;11029:144;;;;;:::o;9556:411:18:-;9655:34;9692:28;;;:15;:28;;;;;;;;9733:41;9692:28;9765:8;9733:21;:41::i;:::-;9785:28;;;;:15;:28;;;;;:39;;9816:8;;9785:28;-1:-1:-1;;9785:39:18;;9816:8;9785:39;;;;;;-1:-1:-1;;;9785:39:18;;;;;;;;;;;;;;9902:57;9927:11;9940:8;9950;9902:57;;;;;;;;:::i;:::-;;;;;;;;9556:411;;;:::o;11254:112:16:-;11314:7;11340:19;11348:3;4444:18;;4362:107;11708:135;11779:7;11813:22;11817:3;11829:5;11813:3;:22::i;1460:64:22:-;4888:13:1;;;;;;;4880:69;;;;-1:-1:-1;;;4880:69:1;;11783:2:67;4880:69:1;;;11765:21:67;11822:2;11802:18;;;11795:30;11861:34;11841:18;;;11834:62;-1:-1:-1;;;11912:18:67;;;11905:41;11963:19;;4880:69:1;11755:233:67;4880:69:1;1460:64:22:o;10516:129:16:-;10583:4;10606:32;10611:3;10631:5;10606:4;:32::i;9975:1779:18:-;10175:8;10163:20;;;;;;-1:-1:-1;;;10163:20:18;;;;;;;;;:8;:20;;;;;;-1:-1:-1;;;10163:20:18;;;;;;;;;;;10155:94;;;;-1:-1:-1;;;10155:94:18;;9780:2:67;10155:94:18;;;9762:21:67;9819:2;9799:18;;;9792:30;9858:34;9838:18;;;9831:62;-1:-1:-1;;;9909:18:67;;;9902:45;9964:19;;10155:94:18;9752:237:67;10155:94:18;10286:33;10274:8;:45;;;;;;-1:-1:-1;;;10274:45:18;;;;;;;;;;10270:1477;;;10356:34;10344:8;:46;;;;;;-1:-1:-1;;;10344:46:18;;;;;;;;;;10336:117;;;;-1:-1:-1;;;10336:117:18;;5752:2:67;10336:117:18;;;5734:21:67;5791:2;5771:18;;;5764:30;5830:34;5810:18;;;5803:62;-1:-1:-1;;;5881:18:67;;;5874:38;5929:19;;10336:117:18;5724:230:67;10336:117:18;10270:1477;;;10487:34;10475:8;:46;;;;;;-1:-1:-1;;;10475:46:18;;;;;;;;;;10471:1276;;;10558:32;10546:8;:44;;;;;;-1:-1:-1;;;10546:44:18;;;;;;;;;;:112;;;-1:-1:-1;10624:34:18;10612:8;:46;;;;;;-1:-1:-1;;;10612:46:18;;;;;;;;;;10546:112;10538:183;;;;-1:-1:-1;;;10538:183:18;;6976:2:67;10538:183:18;;;6958:21:67;7015:2;6995:18;;;6988:30;7054:34;7034:18;;;7027:62;-1:-1:-1;;;7105:18:67;;;7098:38;7153:19;;10538:183:18;6948:230:67;10471:1276:18;10755:34;10743:8;:46;;;;;;-1:-1:-1;;;10743:46:18;;;;;;;;;;10739:1008;;;10806:47;;-1:-1:-1;;;10806:47:18;;7385:2:67;10806:47:18;;;7367:21:67;7424:2;7404:18;;;7397:30;7463:34;7443:18;;;7436:62;-1:-1:-1;;;7514:18:67;;;7507:35;7559:19;;10806:47:18;7357:227:67;10739:1008:18;10887:32;10875:8;:44;;;;;;-1:-1:-1;;;10875:44:18;;;;;;;;;;10871:876;;;10956:32;10944:8;:44;;;;;;-1:-1:-1;;;10944:44:18;;;;;;;;;;:113;;;-1:-1:-1;11022:35:18;11010:8;:47;;;;;;-1:-1:-1;;;11010:47:18;;;;;;;;;;10944:113;10936:183;;;;-1:-1:-1;;;10936:183:18;;10972:2:67;10936:183:18;;;10954:21:67;11011:2;10991:18;;;10984:30;11050:34;11030:18;;;11023:62;-1:-1:-1;;;11101:18:67;;;11094:37;11148:19;;10936:183:18;10944:229:67;10871:876:18;11153:32;11141:8;:44;;;;;;-1:-1:-1;;;11141:44:18;;;;;;;;;;11137:610;;;11222:32;11210:8;:44;;;;;;-1:-1:-1;;;11210:44:18;;;;;;;;;;:111;;;-1:-1:-1;11287:34:18;11275:8;:46;;;;;;-1:-1:-1;;;11275:46:18;;;;;;;;;;11210:111;11202:181;;;;-1:-1:-1;;;11202:181:18;;4526:2:67;11202:181:18;;;4508:21:67;4565:2;4545:18;;;4538:30;4604:34;4584:18;;;4577:62;-1:-1:-1;;;4655:18:67;;;4648:37;4702:19;;11202:181:18;4498:229:67;11137:610:18;11417:35;11405:8;:47;;;;;;-1:-1:-1;;;11405:47:18;;;;;;;;;;11401:346;;;11489:32;11477:8;:44;;;;;;-1:-1:-1;;;11477:44:18;;;;;;;;;;:111;;;-1:-1:-1;11554:34:18;11542:8;:46;;;;;;-1:-1:-1;;;11542:46:18;;;;;;;;;;11477:111;11469:184;;;;-1:-1:-1;;;11469:184:18;;8199:2:67;11469:184:18;;;8181:21:67;8238:2;8218:18;;;8211:30;8277:34;8257:18;;;8250:62;-1:-1:-1;;;8328:18:67;;;8321:40;8378:19;;11469:184:18;8171:232:67;11401:346:18;11686:49;;-1:-1:-1;;;11686:49:18;;7791:2:67;11686:49:18;;;7773:21:67;7830:2;7810:18;;;7803:30;7869:34;7849:18;;;7842:62;-1:-1:-1;;;7920:18:67;;;7913:37;7967:19;;11686:49:18;7763:229:67;4811:118:16;4878:7;4904:3;:11;;4916:5;4904:18;;;;;;-1:-1:-1;;;4904:18:16;;;;;;;;;;;;;;;;;4897:25;;4811:118;;;;:::o;2113:404::-;2176:4;4250:19;;;:12;;;:19;;;;;;2192:319;;-1:-1:-1;2234:23:16;;;;;;;;:11;:23;;;;;;;;;;;;;2414:18;;2392:19;;;:12;;;:19;;;;;;:40;;;;2446:11;;2192:319;-1:-1:-1;2495:5:16;2488:12;;14:257:67;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:67:o;276:261::-;;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:297::-;;662:2;650:9;641:7;637:23;633:32;630:2;;;683:6;675;668:22;630:2;720:9;714:16;773:5;766:13;759:21;752:5;749:32;739:2;;800:6;792;785:22;844:194;;967:2;955:9;946:7;942:23;938:32;935:2;;;988:6;980;973:22;935:2;-1:-1:-1;1016:16:67;;925:113;-1:-1:-1;925:113:67:o;1325:287::-;;1456:2;1444:9;1435:7;1431:23;1427:32;1424:2;;;1477:6;1469;1462:22;1424:2;1521:9;1508:23;1540:42;1576:5;1540:42;:::i;1617:291::-;;1759:2;1747:9;1738:7;1734:23;1730:32;1727:2;;;1780:6;1772;1765:22;1727:2;1817:9;1811:16;1836:42;1872:5;1836:42;:::i;1913:190::-;;2025:2;2013:9;2004:7;2000:23;1996:32;1993:2;;;2046:6;2038;2031:22;1993:2;-1:-1:-1;2074:23:67;;1983:120;-1:-1:-1;1983:120:67:o;2108:145::-;2194:1;2187:5;2184:12;2174:2;;2200:18;;:::i;:::-;2229;;2164:89::o;2258:144::-;2343:1;2336:5;2333:12;2323:2;;2349:18;;:::i;2989:457::-;3237:25;;;3224:3;3209:19;;3271:57;3324:2;3309:18;;3301:6;3271:57;:::i;:::-;-1:-1:-1;;;;;3364:32:67;;;;3359:2;3344:18;;3337:60;3428:2;3413:18;3406:34;3191:255;;-1:-1:-1;;3191:255:67:o;3679:219::-;3831:2;3816:18;;3843:49;3820:9;3874:6;3843:49;:::i;3903:217::-;4054:2;4039:18;;4066:48;4043:9;4096:6;4066:48;:::i;5138:407::-;5340:2;5322:21;;;5379:2;5359:18;;;5352:30;5418:34;5413:2;5398:18;;5391:62;-1:-1:-1;;;5484:2:67;5469:18;;5462:41;5535:3;5520:19;;5312:233::o;5959:405::-;6161:2;6143:21;;;6200:2;6180:18;;;6173:30;6239:34;6234:2;6219:18;;6212:62;-1:-1:-1;;;6305:2:67;6290:18;;6283:39;6354:3;6339:19;;6133:231::o;12992:403::-;13230:25;;;13218:2;13203:18;;13264:58;13318:2;13303:18;;13295:6;13264:58;:::i;:::-;13331;13385:2;13374:9;13370:18;13362:6;13331:58;:::i;:::-;13185:210;;;;;;:::o;13400:236::-;;-1:-1:-1;;13460:17:67;;13457:2;;;-1:-1:-1;;;13500:33:67;;13556:4;13553:1;13546:15;13586:4;13507:3;13574:17;13457:2;-1:-1:-1;13628:1:67;13617:13;;13447:189::o;13641:127::-;13702:10;13697:3;13693:20;13690:1;13683:31;13733:4;13730:1;13723:15;13757:4;13754:1;13747:15;13773:131;-1:-1:-1;;;;;13848:31:67;;13838:42;;13828:2;;13894:1;13891;13884:12;13828:2;13818:86;:::o;13909:112::-;13995:1;13988:5;13985:12;13975:2;;14011:1;14008;14001:12",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    527,
    11757
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1A9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6BC607B3 GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0xBA80B8ED GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xDD51C86A GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xDD51C86A EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xE61AE297 EQ PUSH2 0x3C9 JUMPI DUP1 PUSH4 0xFABC1CBC EQ PUSH2 0x3DC JUMPI DUP1 PUSH4 0xFF3F3883 EQ PUSH2 0x3EF JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0xBA80B8ED EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0xC4D66DE8 EQ PUSH2 0x38E JUMPI DUP1 PUSH4 0xC71E261F EQ PUSH2 0x3A1 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0xA054381F GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0xA054381F EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0xA5C0F5A1 EQ PUSH2 0x34D JUMPI DUP1 PUSH4 0xB759F954 EQ PUSH2 0x360 JUMPI DUP1 PUSH4 0xBA62FBE4 EQ PUSH2 0x373 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x6BC607B3 EQ PUSH2 0x30C JUMPI DUP1 PUSH4 0x9F77A605 EQ PUSH2 0x31F JUMPI DUP1 PUSH4 0xA0355F4E EQ PUSH2 0x332 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x3920200C GT PUSH2 0x166 JUMPI DUP1 PUSH4 0x4F27DA18 GT PUSH2 0x140 JUMPI DUP1 PUSH4 0x4F27DA18 EQ PUSH2 0x273 JUMPI DUP1 PUSH4 0x4F558E79 EQ PUSH2 0x29E JUMPI DUP1 PUSH4 0x5AF89A47 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x5E966E45 EQ PUSH2 0x2DC JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x3920200C EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x414000B5 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x4B865846 EQ PUSH2 0x260 JUMPI PUSH2 0x1A9 JUMP JUMPDEST DUP1 PUSH4 0x1267951 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x9F63ED9 EQ PUSH2 0x1C3 JUMPI DUP1 PUSH4 0xF5DA3A6 EQ PUSH2 0x1EB JUMPI DUP1 PUSH4 0x136439DD EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x2857373A EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x2B1C7F73 EQ PUSH2 0x227 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C1 PUSH2 0x1BC CALLDATASIZE PUSH1 0x4 PUSH2 0x1F6E JUMP JUMPDEST PUSH2 0x402 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D6 PUSH2 0x1D1 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x739 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C1 PUSH2 0x1F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x74E JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x20C CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x827 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x8FE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E2 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F6E JUMP JUMPDEST PUSH2 0x90F JUMP JUMPDEST PUSH2 0x1D6 PUSH2 0x248 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x9E7 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x26E CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x281 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xB99 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1E2 JUMP JUMPDEST PUSH2 0x1D6 PUSH2 0x2AC CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1FE5 JUMP JUMPDEST PUSH2 0xC09 JUMP JUMPDEST PUSH2 0x2FF PUSH2 0x2EA CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x2088 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x31A CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xE00 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x32D CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xE51 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x340 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xE5E JUMP JUMPDEST PUSH2 0x219 PUSH2 0xF37 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x35B CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xF43 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x36E CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0xF50 JUMP JUMPDEST PUSH1 0xC SLOAD PUSH2 0x219 JUMP JUMPDEST PUSH2 0x1D6 PUSH2 0x389 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x10D5 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x39C CALLDATASIZE PUSH1 0x4 PUSH2 0x1F6E JUMP JUMPDEST PUSH2 0x10E2 JUMP JUMPDEST PUSH2 0x219 PUSH2 0x1260 JUMP JUMPDEST PUSH2 0x3BC PUSH2 0x3B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x126C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x2096 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x3D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x1309 JUMP JUMPDEST PUSH2 0x1C1 PUSH2 0x3EA CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x137C JUMP JUMPDEST PUSH2 0x219 PUSH2 0x3FD CALLDATASIZE PUSH1 0x4 PUSH2 0x201D JUMP JUMPDEST PUSH2 0x1453 JUMP JUMPDEST PUSH2 0x423 PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x45C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030333A434F4D504F4E454E545F414C52454144595F PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x455849535453 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x17D7DE7C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x50E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x522 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x546 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x0 EQ PUSH2 0x5B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030343A434F4D504F4E454E545F4E414D455F414C52 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x454144595F455849535453 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C3 DUP3 PUSH2 0x1548 JUMP JUMPDEST SWAP1 POP PUSH32 0xD9B3D18A6293C46C667FE6A98468C457078489F2E16E356BB4C77BB2E22D2016 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x17D7DE7C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x61F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x633 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x657 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x15DAE03E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x690 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6A4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6C8 SWAP2 SWAP1 PUSH2 0x2001 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x6DA SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2059 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x638CE0BA PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x731 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x8 DUP4 PUSH2 0x1830 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x771 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0x7AC DUP2 PUSH1 0x6 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x9E6D5F1811033619318D2FBE9EE7EC46C830175B39F7885248B51E0DECB5837A SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0x7EA DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBE169E7E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x848 PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x878 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x883 DUP2 PUSH1 0x4 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x45DBC7E529DF39B8D70DE83CC9E1D38C088E6BA21AB836E976F7310F1CBB8AFD SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0x8C1 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD73CD992 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x90A PUSH1 0x8 PUSH2 0x18E7 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x973 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030363A434F4D504F4E454E545F414444524553535F PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x5A45524F PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP1 PUSH2 0x749 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030373A434F4D504F4E454E545F554E4B4E4F574E00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x6 DUP4 PUSH2 0x1830 JUMP JUMPDEST PUSH2 0xA0A PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA3A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xA45 DUP2 PUSH1 0x3 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0xD24597F0A62B78258EBD8C2FA52051CF673A5000D14D2FB619C91B1ED95C538A SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0xA83 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA18F5AE2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAE3 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xB13 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xB1E DUP2 PUSH1 0x5 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x55D2D8495549E354E6EE012C5AA183EB0E08EE2F256349AFB0F7F74D1940F9B3 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0xB5C DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xB3FCA9BD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x749 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030353A494E56414C49445F434F4D504F4E454E545F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1251 PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xC2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0xCC0 JUMPI PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x775A4048 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC95 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB9 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST SWAP1 POP PUSH2 0x749 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xCE2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0xD36 JUMPI PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD49D21C0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xD58 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0xDAC JUMPI PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x3FFDD2F3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3031303A434F4D504F4E454E545F545950455F554E4B PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x2727ABA7 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH2 0xE21 PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x6 DUP4 PUSH2 0x18F1 JUMP JUMPDEST PUSH2 0xE81 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xEBC DUP2 PUSH1 0x2 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0xD541B5F22E9E402FB32220D566405510C49372D27B4F47F1D0DA1A153EA2007C SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0xEFA DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xBD1FE5D0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x90A PUSH1 0xA PUSH2 0x18E7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x8 DUP4 PUSH2 0x18F1 JUMP JUMPDEST PUSH2 0xF73 PUSH23 0x496E7374616E63654F70657261746F7253657276696365 PUSH1 0x48 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xFA3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20A4 JUMP JUMPDEST PUSH2 0xFAE DUP2 PUSH1 0x3 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB9 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP PUSH2 0xFC4 DUP3 PUSH2 0x9DA JUMP JUMPDEST ISZERO PUSH2 0x1067 JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x637D08F4 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1002 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1016 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x103A SWAP2 SWAP1 PUSH2 0x1F91 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8D33755281AA5D41B12A70AE3947EE164EF541D786400D733B0B89DF719859E SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x1B867C63 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0xA DUP4 PUSH2 0x1830 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO DUP1 DUP1 ISZERO PUSH2 0x1102 JUMPI POP PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xFF SWAP1 SWAP2 AND LT JUMPDEST DUP1 PUSH2 0x111C JUMPI POP ADDRESS EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x111C JUMPI POP PUSH1 0x0 SLOAD PUSH1 0xFF AND PUSH1 0x1 EQ JUMPDEST PUSH2 0x117F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561 PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x191E481A5B9A5D1A585B1A5E9959 PUSH1 0x92 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE DUP1 ISZERO PUSH2 0x11A2 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND MUL OR SWAP1 SSTORE PUSH2 0x11CC PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH6 0x416363657373 PUSH1 0xD0 SHL EQ PUSH2 0x120E JUMPI PUSH2 0x11ED PUSH6 0x416363657373 PUSH1 0xD0 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMPDEST PUSH2 0x1216 PUSH2 0x18FD JUMP JUMPDEST DUP1 ISZERO PUSH2 0x125C JUMPI PUSH1 0x0 DUP1 SLOAD PUSH2 0xFF00 NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0x7F26B83FF96E1F2B6A682F133852F6798A09C465DA95921460CEFB3847402498 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x90A PUSH1 0x6 PUSH2 0x18E7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1279 PUSH1 0x6 DUP4 PUSH2 0x1830 JUMP JUMPDEST ISZERO PUSH2 0x1286 JUMPI POP PUSH1 0x1 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x1291 PUSH1 0x8 DUP4 PUSH2 0x1830 JUMP JUMPDEST ISZERO PUSH2 0x129E JUMPI POP PUSH1 0x0 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x12A9 PUSH1 0xA DUP4 PUSH2 0x1830 JUMP JUMPDEST ISZERO PUSH2 0x12B6 JUMPI POP PUSH1 0x2 PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030383A494E56414C49445F434F4D504F4E454E545F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1251 PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1314 DUP3 PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x1360 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3031313A554E4B4E4F574E5F50524F445543545F4944 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x453 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x139D PUSH21 0x436F6D706F6E656E744F776E657253657276696365 PUSH1 0x58 SHL PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x453 SWAP1 PUSH2 0x20EF JUMP JUMPDEST PUSH2 0x13D8 DUP2 PUSH1 0x3 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x8E78CA4CC29C505D9901FD1582BA8584083396CE204151EDDD3E008749A24FE0 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH2 0x1416 DUP3 PUSH2 0xB99 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x59DACC6A PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x71D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0xA DUP4 PUSH2 0x18F1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x1C2D8FB3 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xE16C7D98 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x14BE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14E2 SWAP2 SWAP1 PUSH2 0x1F91 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x749 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4352432D3030343A434F4E54524143545F4E4F545F5245474953 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1511549151 PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0xC DUP1 SLOAD PUSH1 0x0 SWAP2 DUP3 PUSH2 0x1559 DUP4 PUSH2 0x2161 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0xC SLOAD SWAP1 POP PUSH2 0x156E DUP2 PUSH1 0x1 PUSH2 0x184D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD0E0BA95 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0xD0E0BA95 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x15C4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 MLOAD PUSH4 0x5F5F79F PUSH1 0xE2 SHL DUP2 MSTORE SWAP2 MLOAD DUP7 SWAP6 POP PUSH1 0x3 SWAP5 SWAP4 SWAP2 SWAP3 PUSH4 0x17D7DE7C SWAP3 PUSH1 0x4 DUP1 DUP4 ADD SWAP4 SWAP2 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x162D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1641 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1665 SWAP2 SWAP1 PUSH2 0x1FCD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE0815F0D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x16EE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1712 SWAP2 SWAP1 PUSH2 0x1FAD JUMP JUMPDEST ISZERO PUSH2 0x1728 JUMPI PUSH2 0x1722 PUSH1 0x6 DUP3 PUSH2 0x196A JUMP JUMPDEST POP PUSH2 0x749 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9A82F890 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1761 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1775 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1799 SWAP2 SWAP1 PUSH2 0x1FAD JUMP JUMPDEST ISZERO PUSH2 0x17A9 JUMPI PUSH2 0x1722 PUSH1 0x8 DUP3 PUSH2 0x196A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x258D560C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x17E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x181A SWAP2 SWAP1 PUSH2 0x1FAD JUMP JUMPDEST ISZERO PUSH2 0x749 JUMPI PUSH2 0x182A PUSH1 0xA DUP3 PUSH2 0x196A JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1869 DUP2 DUP4 PUSH2 0x1976 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x18A2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH32 0xD2248D3E400F6333D5DE6D43446115557CB942E75002AA7AD26F9CAC9B105B1A DUP4 DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x18DA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2138 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1844 DUP4 DUP4 PUSH2 0x1EE7 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1968 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E697469616C697A61626C653A20636F6E7472616374206973206E6F742069 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x6E697469616C697A696E67 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1844 DUP4 DUP4 PUSH2 0x1F1F JUMP JUMPDEST DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1996 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x19B6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1A1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032303A534F555243455F414E445F5441524745545F PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x14D510551157D2511153951250D053 PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1A3E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1AC9 JUMPI PUSH1 0x1 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1A66 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032313A435245415445445F494E56414C49445F5452 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x20A729A4AA24A7A7 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH2 0x125C JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1AEB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1B9B JUMPI PUSH1 0x3 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1B13 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1B3E JUMPI POP PUSH1 0x2 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1B3C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D32323A50524F504F5345445F494E56414C49445F5452 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x20A729A4AA24A7A7 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x2 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1BBD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1C19 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032333A4445434C494E45445F49535F46494E414C5F PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x5354415445 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x3 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1C3B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1CEA JUMPI PUSH1 0x4 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1C63 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1C8E JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1C8C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032343A4143544956455F494E56414C49445F545241 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x2729A4AA24A7A7 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x4 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1D0C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1DBB JUMPI PUSH1 0x3 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1D34 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1D5F JUMPI POP PUSH1 0x6 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1D5D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032353A5041555345445F494E56414C49445F545241 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x2729A4AA24A7A7 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x5 DUP3 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1DDD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x1E8F JUMPI PUSH1 0x3 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1E05 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ DUP1 PUSH2 0x1E30 JUMPI POP PUSH1 0x6 DUP2 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x1E2E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ JUMPDEST PUSH2 0x1AC4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032363A53555350454E4445445F494E56414C49445F PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x2A2920A729A4AA24A7A7 PUSH1 0xB1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3032373A494E495449414C5F53544154455F4E4F545F PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x12105391131151 PUSH1 0xCA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1F0C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1F66 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x1847 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1847 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F7F JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F8A DUP2 PUSH2 0x219E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FA2 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1F8A DUP2 PUSH2 0x219E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FBE JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1F8A JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FDE JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FF6 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F8A DUP2 PUSH2 0x21B6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2012 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1F8A DUP2 PUSH2 0x21B6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x202E JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 DUP2 LT PUSH2 0x2045 JUMPI PUSH2 0x2045 PUSH2 0x2188 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x2045 JUMPI PUSH2 0x2045 PUSH2 0x2188 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 DUP2 ADD PUSH2 0x206D PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1847 DUP3 DUP5 PUSH2 0x2035 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1847 DUP3 DUP5 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2B SWAP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030323A4E4F545F494E5354414E43455F4F50455241 PUSH1 0x40 DUP3 ADD MSTORE PUSH11 0x544F525F53455256494345 PUSH1 0xA8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x29 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552524F523A4343522D3030313A4E4F545F434F4D504F4E454E545F4F574E45 PUSH1 0x40 DUP3 ADD MSTORE PUSH9 0x525F53455256494345 PUSH1 0xB8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x60 DUP2 ADD PUSH2 0x214C PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2035 JUMP JUMPDEST PUSH2 0x2159 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2035 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x2181 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x21B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x21B3 JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x23 SWAP15 PUSH25 0x5517AF061B5C5AE41C8C18B201918C39F50C574AAF6093486F BALANCE 0xB6 PUSH32 0xCC64736F6C634300080200330000000000000000000000000000000000000000 ",
  "pcMap": {
    "0": {
      "offset": [
        527,
        11757
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "CALLVALUE",
      "path": "18"
    },
    "6": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "7": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "8": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "12": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "REVERT",
      "path": "18"
    },
    "16": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "17": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "POP",
      "path": "18"
    },
    "18": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "21": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "LT",
      "path": "18"
    },
    "22": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A9"
    },
    "25": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "26": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "CALLDATALOAD",
      "path": "18"
    },
    "29": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "SHR",
      "path": "18"
    },
    "32": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "33": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x6BC607B3"
    },
    "38": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "GT",
      "path": "18"
    },
    "39": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xF9"
    },
    "42": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "43": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "44": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xBA80B8ED"
    },
    "49": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "GT",
      "path": "18"
    },
    "50": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x97"
    },
    "53": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "54": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "55": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xDD51C86A"
    },
    "60": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "GT",
      "path": "18"
    },
    "61": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71"
    },
    "64": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "65": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "66": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xDD51C86A"
    },
    "71": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "72": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3A9"
    },
    "75": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "76": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "77": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xE61AE297"
    },
    "82": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "83": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3C9"
    },
    "86": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "87": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "88": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFABC1CBC"
    },
    "93": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "94": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3DC"
    },
    "97": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "98": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "99": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFF3F3883"
    },
    "104": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "105": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3EF"
    },
    "108": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "109": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A9"
    },
    "112": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMP",
      "path": "18"
    },
    "113": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "114": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "115": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xBA80B8ED"
    },
    "120": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "121": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x37B"
    },
    "124": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "125": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "126": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xC4D66DE8"
    },
    "131": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "132": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x38E"
    },
    "135": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "136": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "137": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xC71E261F"
    },
    "142": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "143": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3A1"
    },
    "146": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "147": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A9"
    },
    "150": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMP",
      "path": "18"
    },
    "151": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "152": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "153": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xA054381F"
    },
    "158": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "GT",
      "path": "18"
    },
    "159": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xD3"
    },
    "162": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "163": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "164": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xA054381F"
    },
    "169": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "170": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x345"
    },
    "173": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "174": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "175": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xA5C0F5A1"
    },
    "180": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "181": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x34D"
    },
    "184": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "185": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "186": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xB759F954"
    },
    "191": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "192": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x360"
    },
    "195": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "196": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "197": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xBA62FBE4"
    },
    "202": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "203": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x373"
    },
    "206": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "207": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A9"
    },
    "210": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMP",
      "path": "18"
    },
    "211": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "212": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "213": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x6BC607B3"
    },
    "218": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "219": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x30C"
    },
    "222": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "223": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "224": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x9F77A605"
    },
    "229": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "230": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x31F"
    },
    "233": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "234": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "235": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xA0355F4E"
    },
    "240": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "241": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x332"
    },
    "244": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "245": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A9"
    },
    "248": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMP",
      "path": "18"
    },
    "249": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "250": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "251": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x3920200C"
    },
    "256": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "GT",
      "path": "18"
    },
    "257": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x166"
    },
    "260": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "261": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "262": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x4F27DA18"
    },
    "267": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "GT",
      "path": "18"
    },
    "268": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x140"
    },
    "271": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "272": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "273": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x4F27DA18"
    },
    "278": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "279": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x273"
    },
    "282": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "283": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "284": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x4F558E79"
    },
    "289": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "290": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x29E"
    },
    "293": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "294": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "295": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x5AF89A47"
    },
    "300": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "301": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2C9"
    },
    "304": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "305": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "306": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x5E966E45"
    },
    "311": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "312": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2DC"
    },
    "315": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "316": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A9"
    },
    "319": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMP",
      "path": "18"
    },
    "320": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "321": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "322": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x3920200C"
    },
    "327": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "328": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x23A"
    },
    "331": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "332": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "333": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x414000B5"
    },
    "338": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "339": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x24D"
    },
    "342": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "343": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "344": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x4B865846"
    },
    "349": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "350": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x260"
    },
    "353": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "354": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A9"
    },
    "357": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMP",
      "path": "18"
    },
    "358": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "359": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "360": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x1267951"
    },
    "365": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "366": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AE"
    },
    "369": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "370": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "371": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x9F63ED9"
    },
    "376": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "377": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C3"
    },
    "380": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "381": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "382": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xF5DA3A6"
    },
    "387": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "388": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1EB"
    },
    "391": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "392": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "393": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x136439DD"
    },
    "398": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "399": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FE"
    },
    "402": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "403": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "404": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x2857373A"
    },
    "409": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "410": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x211"
    },
    "413": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "414": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "415": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x2B1C7F73"
    },
    "420": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "EQ",
      "path": "18"
    },
    "421": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x227"
    },
    "424": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "425": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "426": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "428": {
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "DUP1",
      "path": "18"
    },
    "429": {
      "first_revert": true,
      "fn": null,
      "offset": [
        527,
        11757
      ],
      "op": "REVERT",
      "path": "18"
    },
    "430": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "431": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "434": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1BC"
    },
    "437": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "438": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "440": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1F6E"
    },
    "443": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        1659,
        2425
      ],
      "op": "JUMP",
      "path": "18"
    },
    "444": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "445": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x402"
    },
    "448": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        1659,
        2425
      ],
      "op": "JUMP",
      "path": "18"
    },
    "449": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "450": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "STOP",
      "path": "18"
    },
    "451": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "452": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D6"
    },
    "455": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D1"
    },
    "458": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "459": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "461": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "464": {
      "fn": "ComponentController.isOracle",
      "jump": "i",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMP",
      "path": "18"
    },
    "465": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "466": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x739"
    },
    "469": {
      "fn": "ComponentController.isOracle",
      "jump": "i",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMP",
      "path": "18"
    },
    "470": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "471": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "473": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "474": {
      "op": "SWAP1"
    },
    "475": {
      "op": "ISZERO"
    },
    "476": {
      "op": "ISZERO"
    },
    "477": {
      "op": "DUP2"
    },
    "478": {
      "op": "MSTORE"
    },
    "479": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "481": {
      "op": "ADD"
    },
    "482": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "483": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "485": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "486": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "DUP1",
      "path": "18"
    },
    "487": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "488": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "SUB",
      "path": "18"
    },
    "489": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "490": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "RETURN",
      "path": "18"
    },
    "491": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "492": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "495": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1F9"
    },
    "498": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "499": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "501": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "504": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        6034,
        6400
      ],
      "op": "JUMP",
      "path": "18"
    },
    "505": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "506": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x74E"
    },
    "509": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        6034,
        6400
      ],
      "op": "JUMP",
      "path": "18"
    },
    "510": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "511": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "514": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20C"
    },
    "517": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "518": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "520": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "523": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        4972,
        5306
      ],
      "op": "JUMP",
      "path": "18"
    },
    "524": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "525": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x827"
    },
    "528": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        4972,
        5306
      ],
      "op": "JUMP",
      "path": "18"
    },
    "529": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "530": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "533": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x8FE"
    },
    "536": {
      "fn": "ComponentController.oracles",
      "jump": "i",
      "offset": [
        8765,
        8862
      ],
      "op": "JUMP",
      "path": "18"
    },
    "537": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "538": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "540": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "541": {
      "op": "SWAP1"
    },
    "542": {
      "op": "DUP2"
    },
    "543": {
      "op": "MSTORE"
    },
    "544": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "546": {
      "op": "ADD"
    },
    "547": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E2"
    },
    "550": {
      "op": "JUMP"
    },
    "551": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "552": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "555": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x235"
    },
    "558": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "559": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "561": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1F6E"
    },
    "564": {
      "fn": "ComponentController.getComponentId",
      "jump": "i",
      "offset": [
        6632,
        6931
      ],
      "op": "JUMP",
      "path": "18"
    },
    "565": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "566": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x90F"
    },
    "569": {
      "fn": "ComponentController.getComponentId",
      "jump": "i",
      "offset": [
        6632,
        6931
      ],
      "op": "JUMP",
      "path": "18"
    },
    "570": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "571": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D6"
    },
    "574": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x248"
    },
    "577": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "578": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "580": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "583": {
      "fn": "ComponentController.isProduct",
      "jump": "i",
      "offset": [
        8977,
        9084
      ],
      "op": "JUMP",
      "path": "18"
    },
    "584": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "585": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x9DA"
    },
    "588": {
      "fn": "ComponentController.isProduct",
      "jump": "i",
      "offset": [
        8977,
        9084
      ],
      "op": "JUMP",
      "path": "18"
    },
    "589": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "590": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "593": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x25B"
    },
    "596": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "597": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "599": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "602": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4624,
        4964
      ],
      "op": "JUMP",
      "path": "18"
    },
    "603": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "604": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x9E7"
    },
    "607": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4624,
        4964
      ],
      "op": "JUMP",
      "path": "18"
    },
    "608": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "609": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "612": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x26E"
    },
    "615": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "616": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "618": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "621": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4267,
        4616
      ],
      "op": "JUMP",
      "path": "18"
    },
    "622": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "623": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xAC0"
    },
    "626": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4267,
        4616
      ],
      "op": "JUMP",
      "path": "18"
    },
    "627": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "628": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x286"
    },
    "631": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x281"
    },
    "634": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "635": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "637": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "640": {
      "fn": "ComponentController.getComponent",
      "jump": "i",
      "offset": [
        6408,
        6624
      ],
      "op": "JUMP",
      "path": "18"
    },
    "641": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "642": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "645": {
      "fn": "ComponentController.getComponent",
      "jump": "i",
      "offset": [
        6408,
        6624
      ],
      "op": "JUMP",
      "path": "18"
    },
    "646": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "647": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "649": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "650": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "652": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "654": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "656": {
      "op": "SHL"
    },
    "657": {
      "op": "SUB"
    },
    "658": {
      "op": "SWAP1"
    },
    "659": {
      "op": "SWAP2"
    },
    "660": {
      "op": "AND"
    },
    "661": {
      "op": "DUP2"
    },
    "662": {
      "op": "MSTORE"
    },
    "663": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "665": {
      "op": "ADD"
    },
    "666": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E2"
    },
    "669": {
      "op": "JUMP"
    },
    "670": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "671": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D6"
    },
    "674": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2AC"
    },
    "677": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "678": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "680": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "683": {
      "fn": "ComponentController.exists",
      "jump": "i",
      "offset": [
        3247,
        3413
      ],
      "op": "JUMP",
      "path": "18"
    },
    "684": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "685": {
      "fn": "ComponentController.exists",
      "offset": [
        3295,
        3299
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "687": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "688": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "DUP2",
      "path": "18"
    },
    "689": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "690": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3349
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "692": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "694": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "695": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "697": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "698": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "699": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "700": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "702": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "704": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "706": {
      "op": "SHL"
    },
    "707": {
      "op": "SUB"
    },
    "708": {
      "fn": "ComponentController.exists",
      "offset": [
        3335,
        3353
      ],
      "op": "AND",
      "path": "18"
    },
    "709": {
      "fn": "ComponentController.exists",
      "offset": [
        3372,
        3404
      ],
      "op": "ISZERO",
      "path": "18",
      "statement": 0
    },
    "710": {
      "fn": "ComponentController.exists",
      "offset": [
        3372,
        3404
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "711": {
      "fn": "ComponentController.exists",
      "offset": [
        3372,
        3404
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "712": {
      "fn": "ComponentController.exists",
      "offset": [
        3247,
        3413
      ],
      "op": "JUMP",
      "path": "18"
    },
    "713": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "714": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "717": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2D7"
    },
    "720": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "721": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "723": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FE5"
    },
    "726": {
      "fn": "ComponentController.getRequiredRole",
      "jump": "i",
      "offset": [
        8058,
        8561
      ],
      "op": "JUMP",
      "path": "18"
    },
    "727": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "728": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xC09"
    },
    "731": {
      "fn": "ComponentController.getRequiredRole",
      "jump": "i",
      "offset": [
        8058,
        8561
      ],
      "op": "JUMP",
      "path": "18"
    },
    "732": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "733": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2FF"
    },
    "736": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2EA"
    },
    "739": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "740": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "742": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "745": {
      "fn": "ComponentController.getComponentState",
      "jump": "i",
      "offset": [
        7480,
        7627
      ],
      "op": "JUMP",
      "path": "18"
    },
    "746": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "747": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7540,
        7580
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "749": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "SWAP1",
      "path": "18",
      "statement": 1
    },
    "750": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "DUP2",
      "path": "18"
    },
    "751": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "752": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7615
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x5"
    },
    "754": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "756": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "757": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "759": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "760": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "761": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "762": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xFF"
    },
    "764": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "AND",
      "path": "18"
    },
    "765": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7600,
        7619
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "766": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "JUMP",
      "path": "18"
    },
    "767": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "768": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "770": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "771": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E2"
    },
    "774": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "775": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "776": {
      "fn": "ComponentController.getComponentState",
      "offset": [
        7480,
        7627
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2088"
    },
    "779": {
      "fn": "ComponentController.getComponentState",
      "jump": "i",
      "offset": [
        7480,
        7627
      ],
      "op": "JUMP",
      "path": "18"
    },
    "780": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "781": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "784": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x31A"
    },
    "787": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "788": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "790": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "793": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "jump": "i",
      "offset": [
        5664,
        6026
      ],
      "op": "JUMP",
      "path": "18"
    },
    "794": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "795": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xE00"
    },
    "798": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "jump": "i",
      "offset": [
        5664,
        6026
      ],
      "op": "JUMP",
      "path": "18"
    },
    "799": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "800": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "803": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x32D"
    },
    "806": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "807": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "809": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "812": {
      "fn": "ComponentController.getProductId",
      "jump": "i",
      "offset": [
        7917,
        8050
      ],
      "op": "JUMP",
      "path": "18"
    },
    "813": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "814": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xE51"
    },
    "817": {
      "fn": "ComponentController.getProductId",
      "jump": "i",
      "offset": [
        7917,
        8050
      ],
      "op": "JUMP",
      "path": "18"
    },
    "818": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "819": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "822": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x340"
    },
    "825": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "826": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "828": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "831": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        3916,
        4259
      ],
      "op": "JUMP",
      "path": "18"
    },
    "832": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "833": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xE5E"
    },
    "836": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        3916,
        4259
      ],
      "op": "JUMP",
      "path": "18"
    },
    "837": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8868,
        8969
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "838": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8868,
        8969
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "841": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8868,
        8969
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xF37"
    },
    "844": {
      "fn": "ComponentController.riskpools",
      "jump": "i",
      "offset": [
        8868,
        8969
      ],
      "op": "JUMP",
      "path": "18"
    },
    "845": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "846": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "849": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x35B"
    },
    "852": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "853": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "855": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "858": {
      "fn": "ComponentController.getOracleId",
      "jump": "i",
      "offset": [
        7635,
        7765
      ],
      "op": "JUMP",
      "path": "18"
    },
    "859": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "860": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xF43"
    },
    "863": {
      "fn": "ComponentController.getOracleId",
      "jump": "i",
      "offset": [
        7635,
        7765
      ],
      "op": "JUMP",
      "path": "18"
    },
    "864": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "865": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "868": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x36E"
    },
    "871": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "872": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "874": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "877": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3421,
        3908
      ],
      "op": "JUMP",
      "path": "18"
    },
    "878": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "879": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xF50"
    },
    "882": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3421,
        3908
      ],
      "op": "JUMP",
      "path": "18"
    },
    "883": {
      "fn": "ComponentController.components",
      "offset": [
        8569,
        8654
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "884": {
      "fn": "ComponentController.components",
      "offset": [
        8636,
        8651
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 2,
      "value": "0xC"
    },
    "886": {
      "fn": "ComponentController.components",
      "offset": [
        8636,
        8651
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "887": {
      "fn": "ComponentController.components",
      "offset": [
        8569,
        8654
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "890": {
      "fn": "ComponentController.components",
      "offset": [
        8569,
        8654
      ],
      "op": "JUMP",
      "path": "18"
    },
    "891": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "892": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D6"
    },
    "895": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x389"
    },
    "898": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "899": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "901": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "904": {
      "fn": "ComponentController.isRiskpool",
      "jump": "i",
      "offset": [
        9205,
        9314
      ],
      "op": "JUMP",
      "path": "18"
    },
    "905": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "906": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x10D5"
    },
    "909": {
      "fn": "ComponentController.isRiskpool",
      "jump": "i",
      "offset": [
        9205,
        9314
      ],
      "op": "JUMP",
      "path": "18"
    },
    "910": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "911": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x1C1"
    },
    "914": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x39C"
    },
    "917": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "CALLDATASIZE",
      "path": "22"
    },
    "918": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "920": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x1F6E"
    },
    "923": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMP",
      "path": "22"
    },
    "924": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "925": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x10E2"
    },
    "928": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMP",
      "path": "22"
    },
    "929": {
      "fn": "ComponentController.products",
      "offset": [
        8660,
        8759
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "930": {
      "fn": "ComponentController.products",
      "offset": [
        8660,
        8759
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "933": {
      "fn": "ComponentController.products",
      "offset": [
        8660,
        8759
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1260"
    },
    "936": {
      "fn": "ComponentController.products",
      "jump": "i",
      "offset": [
        8660,
        8759
      ],
      "op": "JUMP",
      "path": "18"
    },
    "937": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "938": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3BC"
    },
    "941": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3B7"
    },
    "944": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "945": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "947": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "950": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6939,
        7472
      ],
      "op": "JUMP",
      "path": "18"
    },
    "951": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "952": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x126C"
    },
    "955": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6939,
        7472
      ],
      "op": "JUMP",
      "path": "18"
    },
    "956": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "957": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "959": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "960": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E2"
    },
    "963": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "964": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "965": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2096"
    },
    "968": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        6939,
        7472
      ],
      "op": "JUMP",
      "path": "18"
    },
    "969": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "970": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x286"
    },
    "973": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3D7"
    },
    "976": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "977": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "979": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "982": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "i",
      "offset": [
        9322,
        9548
      ],
      "op": "JUMP",
      "path": "18"
    },
    "983": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "984": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1309"
    },
    "987": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "i",
      "offset": [
        9322,
        9548
      ],
      "op": "JUMP",
      "path": "18"
    },
    "988": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "989": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C1"
    },
    "992": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3EA"
    },
    "995": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "996": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "998": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "1001": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5314,
        5656
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1002": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1003": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x137C"
    },
    "1006": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5314,
        5656
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1007": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1008": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x219"
    },
    "1011": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x3FD"
    },
    "1014": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "CALLDATASIZE",
      "path": "18"
    },
    "1015": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1017": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x201D"
    },
    "1020": {
      "fn": "ComponentController.getRiskpoolId",
      "jump": "i",
      "offset": [
        7773,
        7909
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1021": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1022": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1453"
    },
    "1025": {
      "fn": "ComponentController.getRiskpoolId",
      "jump": "i",
      "offset": [
        7773,
        7909
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1026": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1027": {
      "offset": [
        1305,
        1349
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x423"
    },
    "1030": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "1052": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "1054": {
      "op": "SHL"
    },
    "1055": {
      "offset": [
        1305,
        1324
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "1058": {
      "jump": "i",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1059": {
      "fn": "ComponentController.propose",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1060": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1062": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1064": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1066": {
      "op": "SHL"
    },
    "1067": {
      "op": "SUB"
    },
    "1068": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "1069": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11",
      "statement": 3
    },
    "1070": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1072": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1074": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1076": {
      "op": "SHL"
    },
    "1077": {
      "op": "SUB"
    },
    "1078": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "1079": {
      "fn": "Context._msgSender",
      "offset": [
        1289,
        1349
      ],
      "op": "EQ",
      "path": "18"
    },
    "1080": {
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x45C"
    },
    "1083": {
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1084": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1086": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1087": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1091": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1093": {
      "op": "SHL"
    },
    "1094": {
      "offset": [
        1267,
        1408
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1095": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1096": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1098": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "ADD",
      "path": "18"
    },
    "1099": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "1102": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1103": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20EF"
    },
    "1106": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1107": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1108": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1110": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1111": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1112": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "1113": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "SUB",
      "path": "18"
    },
    "1114": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1115": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "REVERT",
      "optimizer_revert": true,
      "path": "18"
    },
    "1116": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1117": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1119": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1121": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1123": {
      "op": "SHL"
    },
    "1124": {
      "op": "SUB"
    },
    "1125": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "DUP2",
      "path": "18",
      "statement": 4
    },
    "1126": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "AND",
      "path": "18"
    },
    "1127": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1129": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1130": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1131": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1132": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1827
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1134": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "1136": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1137": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1139": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1140": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "1141": {
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1847
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "1142": {
      "branch": 92,
      "fn": "ComponentController.propose",
      "offset": [
        1806,
        1852
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1143": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x4D1"
    },
    "1146": {
      "branch": 92,
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1147": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1149": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1150": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1154": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1156": {
      "op": "SHL"
    },
    "1157": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1158": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1159": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1161": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1163": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1164": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "ADD",
      "path": "18"
    },
    "1165": {
      "op": "MSTORE"
    },
    "1166": {
      "op": "PUSH1",
      "value": "0x26"
    },
    "1168": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1170": {
      "op": "DUP3"
    },
    "1171": {
      "op": "ADD"
    },
    "1172": {
      "op": "MSTORE"
    },
    "1173": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030333A434F4D504F4E454E545F414C52454144595F"
    },
    "1206": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1208": {
      "op": "DUP3"
    },
    "1209": {
      "op": "ADD"
    },
    "1210": {
      "op": "MSTORE"
    },
    "1211": {
      "op": "PUSH6",
      "value": "0x455849535453"
    },
    "1218": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "1220": {
      "op": "SHL"
    },
    "1221": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1223": {
      "op": "DUP3"
    },
    "1224": {
      "op": "ADD"
    },
    "1225": {
      "op": "MSTORE"
    },
    "1226": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1228": {
      "op": "ADD"
    },
    "1229": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "1232": {
      "op": "JUMP"
    },
    "1233": {
      "fn": "ComponentController.propose",
      "offset": [
        1798,
        1895
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1234": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1932
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 5,
      "value": "0x3"
    },
    "1236": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1238": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1942
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1239": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1241": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1243": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1245": {
      "op": "SHL"
    },
    "1246": {
      "op": "SUB"
    },
    "1247": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1950
      ],
      "op": "AND",
      "path": "18"
    },
    "1248": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1950
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x17D7DE7C"
    },
    "1253": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1255": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1256": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1257": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "1262": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "AND",
      "path": "18"
    },
    "1263": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "1265": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "SHL",
      "path": "18"
    },
    "1266": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1267": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1268": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1270": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ADD",
      "path": "18"
    },
    "1271": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "1273": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1275": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1276": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1277": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP4",
      "path": "18"
    },
    "1278": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "SUB",
      "path": "18"
    },
    "1279": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1280": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP7",
      "path": "18"
    },
    "1281": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1282": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "1283": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1284": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1285": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1286": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x50E"
    },
    "1289": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1290": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1292": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1293": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1294": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1295": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "POP",
      "path": "18"
    },
    "1296": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "GAS",
      "path": "18"
    },
    "1297": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "1298": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1299": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1300": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1301": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x522"
    },
    "1304": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1305": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1306": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1308": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1309": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "1310": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1311": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1313": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1314": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1315": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "POP",
      "path": "18"
    },
    "1316": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "POP",
      "path": "18"
    },
    "1317": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "POP",
      "path": "18"
    },
    "1318": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "POP",
      "path": "18"
    },
    "1319": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1321": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1322": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1323": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "1325": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "NOT",
      "path": "18"
    },
    "1326": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "1328": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1329": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ADD",
      "path": "18"
    },
    "1330": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "AND",
      "path": "18"
    },
    "1331": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1332": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ADD",
      "path": "18"
    },
    "1333": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1334": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1336": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1337": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "POP",
      "path": "18"
    },
    "1338": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1339": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "ADD",
      "path": "18"
    },
    "1340": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1341": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x546"
    },
    "1344": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "1345": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1346": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FCD"
    },
    "1349": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        1933,
        1952
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1350": {
      "fn": "ComponentController.propose",
      "offset": [
        1933,
        1952
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1351": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1352": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1353": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "1355": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "ADD",
      "path": "18"
    },
    "1356": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1357": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1358": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1359": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "1361": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "ADD",
      "path": "18"
    },
    "1362": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1364": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "1365": {
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1953
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "1366": {
      "fn": "ComponentController.propose",
      "offset": [
        1957,
        1958
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1368": {
      "branch": 93,
      "fn": "ComponentController.propose",
      "offset": [
        1914,
        1958
      ],
      "op": "EQ",
      "path": "18"
    },
    "1369": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x5B8"
    },
    "1372": {
      "branch": 93,
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1373": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1375": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1376": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1380": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1382": {
      "op": "SHL"
    },
    "1383": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1384": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1385": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1387": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1389": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1390": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "ADD",
      "path": "18"
    },
    "1391": {
      "op": "MSTORE"
    },
    "1392": {
      "op": "PUSH1",
      "value": "0x2B"
    },
    "1394": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1396": {
      "op": "DUP3"
    },
    "1397": {
      "op": "ADD"
    },
    "1398": {
      "op": "MSTORE"
    },
    "1399": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030343A434F4D504F4E454E545F4E414D455F414C52"
    },
    "1432": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1434": {
      "op": "DUP3"
    },
    "1435": {
      "op": "ADD"
    },
    "1436": {
      "op": "MSTORE"
    },
    "1437": {
      "op": "PUSH11",
      "value": "0x454144595F455849535453"
    },
    "1449": {
      "op": "PUSH1",
      "value": "0xA8"
    },
    "1451": {
      "op": "SHL"
    },
    "1452": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1454": {
      "op": "DUP3"
    },
    "1455": {
      "op": "ADD"
    },
    "1456": {
      "op": "MSTORE"
    },
    "1457": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1459": {
      "op": "ADD"
    },
    "1460": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "1463": {
      "op": "JUMP"
    },
    "1464": {
      "fn": "ComponentController.propose",
      "offset": [
        1906,
        2006
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1465": {
      "fn": "ComponentController.propose",
      "offset": [
        2069,
        2079
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1467": {
      "fn": "ComponentController.propose",
      "offset": [
        2082,
        2110
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x5C3"
    },
    "1470": {
      "fn": "ComponentController.propose",
      "offset": [
        2100,
        2109
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1471": {
      "fn": "ComponentController.propose",
      "offset": [
        2082,
        2099
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1548"
    },
    "1474": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2082,
        2110
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1475": {
      "fn": "ComponentController.propose",
      "offset": [
        2082,
        2110
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1476": {
      "fn": "ComponentController.propose",
      "offset": [
        2069,
        2110
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1477": {
      "fn": "ComponentController.propose",
      "offset": [
        2069,
        2110
      ],
      "op": "POP",
      "path": "18"
    },
    "1478": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "PUSH32",
      "path": "18",
      "statement": 6,
      "value": "0xD9B3D18A6293C46C667FE6A98468C457078489F2E16E356BB4C77BB2E22D2016"
    },
    "1511": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2218
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1512": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1514": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1516": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1518": {
      "op": "SHL"
    },
    "1519": {
      "op": "SUB"
    },
    "1520": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2226
      ],
      "op": "AND",
      "path": "18"
    },
    "1521": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2226
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x17D7DE7C"
    },
    "1526": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1528": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1529": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1530": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "1535": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "AND",
      "path": "18"
    },
    "1536": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "1538": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "SHL",
      "path": "18"
    },
    "1539": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1540": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1541": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1543": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ADD",
      "path": "18"
    },
    "1544": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "1546": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1548": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1549": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1550": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP4",
      "path": "18"
    },
    "1551": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "SUB",
      "path": "18"
    },
    "1552": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1553": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP7",
      "path": "18"
    },
    "1554": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1555": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "1556": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1557": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1558": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1559": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x61F"
    },
    "1562": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1563": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1565": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1566": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1567": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1568": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "POP",
      "path": "18"
    },
    "1569": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "GAS",
      "path": "18"
    },
    "1570": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "1571": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1572": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1573": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1574": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x633"
    },
    "1577": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1578": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1579": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1581": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1582": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "1583": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1584": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1586": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1587": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1588": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "POP",
      "path": "18"
    },
    "1589": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "POP",
      "path": "18"
    },
    "1590": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "POP",
      "path": "18"
    },
    "1591": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "POP",
      "path": "18"
    },
    "1592": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1594": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1595": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1596": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "1598": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "NOT",
      "path": "18"
    },
    "1599": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "1601": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1602": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ADD",
      "path": "18"
    },
    "1603": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "AND",
      "path": "18"
    },
    "1604": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1605": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ADD",
      "path": "18"
    },
    "1606": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1607": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1609": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1610": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "POP",
      "path": "18"
    },
    "1611": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1612": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "ADD",
      "path": "18"
    },
    "1613": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1614": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x657"
    },
    "1617": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "1618": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1619": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FCD"
    },
    "1622": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2209,
        2228
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1623": {
      "fn": "ComponentController.propose",
      "offset": [
        2209,
        2228
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1624": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2252
      ],
      "op": "DUP4",
      "path": "18"
    },
    "1625": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1627": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1629": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1631": {
      "op": "SHL"
    },
    "1632": {
      "op": "SUB"
    },
    "1633": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2260
      ],
      "op": "AND",
      "path": "18"
    },
    "1634": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2260
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x15DAE03E"
    },
    "1639": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1641": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1642": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1643": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "1648": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "AND",
      "path": "18"
    },
    "1649": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "1651": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "SHL",
      "path": "18"
    },
    "1652": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1653": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1654": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1656": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ADD",
      "path": "18"
    },
    "1657": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "1659": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1661": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1662": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1663": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP4",
      "path": "18"
    },
    "1664": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "SUB",
      "path": "18"
    },
    "1665": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1666": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP7",
      "path": "18"
    },
    "1667": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1668": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "1669": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1670": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1671": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1672": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x690"
    },
    "1675": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1676": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1678": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1679": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1680": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1681": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "POP",
      "path": "18"
    },
    "1682": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "GAS",
      "path": "18"
    },
    "1683": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "1684": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1685": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1686": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1687": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x6A4"
    },
    "1690": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1691": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1692": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1694": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1695": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "1696": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1697": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1699": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1700": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1701": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "POP",
      "path": "18"
    },
    "1702": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "POP",
      "path": "18"
    },
    "1703": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "POP",
      "path": "18"
    },
    "1704": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "POP",
      "path": "18"
    },
    "1705": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1707": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1708": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1709": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "1711": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "NOT",
      "path": "18"
    },
    "1712": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "1714": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1715": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ADD",
      "path": "18"
    },
    "1716": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "AND",
      "path": "18"
    },
    "1717": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP3",
      "path": "18"
    },
    "1718": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ADD",
      "path": "18"
    },
    "1719": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1720": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1722": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1723": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "POP",
      "path": "18"
    },
    "1724": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1725": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "ADD",
      "path": "18"
    },
    "1726": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1727": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x6C8"
    },
    "1730": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "1731": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1732": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2001"
    },
    "1735": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2243,
        2262
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1736": {
      "fn": "ComponentController.propose",
      "offset": [
        2243,
        2262
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1737": {
      "fn": "ComponentController.propose",
      "offset": [
        2285,
        2294
      ],
      "op": "DUP5",
      "path": "18"
    },
    "1738": {
      "fn": "ComponentController.propose",
      "offset": [
        2310,
        2312
      ],
      "op": "DUP5",
      "path": "18"
    },
    "1739": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1741": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1742": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x6DA"
    },
    "1745": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SWAP5",
      "path": "18"
    },
    "1746": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SWAP4",
      "path": "18"
    },
    "1747": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SWAP3",
      "path": "18"
    },
    "1748": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "1749": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1750": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2059"
    },
    "1753": {
      "fn": "ComponentController.propose",
      "jump": "i",
      "offset": [
        2174,
        2313
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1754": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1755": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1757": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1758": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1759": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "1760": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SUB",
      "path": "18"
    },
    "1761": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1762": {
      "fn": "ComponentController.propose",
      "offset": [
        2174,
        2313
      ],
      "op": "LOG1",
      "path": "18"
    },
    "1763": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2398
      ],
      "op": "DUP2",
      "path": "18",
      "statement": 7
    },
    "1764": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1766": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1768": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1770": {
      "op": "SHL"
    },
    "1771": {
      "op": "SUB"
    },
    "1772": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2415
      ],
      "op": "AND",
      "path": "18"
    },
    "1773": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2415
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x638CE0BA"
    },
    "1778": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1780": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1781": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1782": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "1787": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "AND",
      "path": "18"
    },
    "1788": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "1790": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "SHL",
      "path": "18"
    },
    "1791": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1792": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1793": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1795": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "ADD",
      "path": "18"
    },
    "1796": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1798": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1800": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1801": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1802": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP4",
      "path": "18"
    },
    "1803": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "SUB",
      "path": "18"
    },
    "1804": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1805": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1807": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP8",
      "path": "18"
    },
    "1808": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1809": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "1810": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1811": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1812": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1813": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "1816": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1817": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1819": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1820": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1821": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1822": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "POP",
      "path": "18"
    },
    "1823": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "GAS",
      "path": "18"
    },
    "1824": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "CALL",
      "path": "18"
    },
    "1825": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1826": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1827": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "1828": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x731"
    },
    "1831": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1832": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1833": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1835": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "DUP1",
      "path": "18"
    },
    "1836": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "1837": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "1838": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1840": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "REVERT",
      "path": "18"
    },
    "1841": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1842": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "POP",
      "path": "18"
    },
    "1843": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "POP",
      "path": "18"
    },
    "1844": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "POP",
      "path": "18"
    },
    "1845": {
      "fn": "ComponentController.propose",
      "offset": [
        2389,
        2417
      ],
      "op": "POP",
      "path": "18"
    },
    "1846": {
      "offset": [
        1419,
        1420
      ],
      "op": "POP",
      "path": "18"
    },
    "1847": {
      "fn": "ComponentController.propose",
      "offset": [
        1659,
        2425
      ],
      "op": "POP",
      "path": "18"
    },
    "1848": {
      "fn": "ComponentController.propose",
      "jump": "o",
      "offset": [
        1659,
        2425
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1849": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1850": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9143,
        9147
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "1852": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9158,
        9194
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 8,
      "value": "0x746"
    },
    "1855": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9181,
        9189
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x8"
    },
    "1857": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9191,
        9193
      ],
      "op": "DUP4",
      "path": "18"
    },
    "1858": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9158,
        9180
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1830"
    },
    "1861": {
      "fn": "ComponentController.isOracle",
      "jump": "i",
      "offset": [
        9158,
        9194
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1862": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9158,
        9194
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1863": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9151,
        9194
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1864": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9151,
        9194
      ],
      "op": "POP",
      "path": "18"
    },
    "1865": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1866": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "1867": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1868": {
      "fn": "ComponentController.isOracle",
      "offset": [
        9092,
        9197
      ],
      "op": "POP",
      "path": "18"
    },
    "1869": {
      "fn": "ComponentController.isOracle",
      "jump": "o",
      "offset": [
        9092,
        9197
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1870": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6034,
        6400
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1871": {
      "offset": [
        1524,
        1570
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x771"
    },
    "1874": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "1898": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "1900": {
      "op": "SHL"
    },
    "1901": {
      "offset": [
        1524,
        1543
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "1904": {
      "jump": "i",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1905": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1906": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1908": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1910": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1912": {
      "op": "SHL"
    },
    "1913": {
      "op": "SUB"
    },
    "1914": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "1915": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "1916": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1918": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1920": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1922": {
      "op": "SHL"
    },
    "1923": {
      "op": "SUB"
    },
    "1924": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "1925": {
      "fn": "Context._msgSender",
      "offset": [
        1508,
        1570
      ],
      "op": "EQ",
      "path": "18"
    },
    "1926": {
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x7A1"
    },
    "1929": {
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "1930": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "1932": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1933": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1937": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1939": {
      "op": "SHL"
    },
    "1940": {
      "offset": [
        1486,
        1631
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1941": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "1942": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "1944": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "ADD",
      "path": "18"
    },
    "1945": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "1948": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "1949": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20A4"
    },
    "1952": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1953": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1954": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6157,
        6209
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 9,
      "value": "0x7AC"
    },
    "1957": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6170,
        6172
      ],
      "op": "DUP2",
      "path": "18"
    },
    "1958": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6174,
        6208
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "1960": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6157,
        6169
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "1963": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        6157,
        6209
      ],
      "op": "JUMP",
      "path": "18"
    },
    "1964": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6157,
        6209
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "1965": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 10,
      "value": "0x40"
    },
    "1967": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "1968": {
      "op": "DUP2"
    },
    "1969": {
      "op": "DUP2"
    },
    "1970": {
      "op": "MSTORE"
    },
    "1971": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "PUSH32",
      "path": "18",
      "value": "0x9E6D5F1811033619318D2FBE9EE7EC46C830175B39F7885248B51E0DECB5837A"
    },
    "2004": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2005": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2007": {
      "op": "ADD"
    },
    "2008": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2010": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2011": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2012": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "2013": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "SUB",
      "path": "18"
    },
    "2014": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2015": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6225,
        6249
      ],
      "op": "LOG1",
      "path": "18"
    },
    "2016": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6315,
        6335
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2018": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6338,
        6354
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x7EA"
    },
    "2021": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6351,
        6353
      ],
      "op": "DUP3",
      "path": "18"
    },
    "2022": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6338,
        6350
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "2025": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "jump": "i",
      "offset": [
        6338,
        6354
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2026": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6338,
        6354
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2027": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6315,
        6354
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2028": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6315,
        6354
      ],
      "op": "POP",
      "path": "18"
    },
    "2029": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6374
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 11
    },
    "2030": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2032": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2034": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2036": {
      "op": "SHL"
    },
    "2037": {
      "op": "SUB"
    },
    "2038": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6390
      ],
      "op": "AND",
      "path": "18"
    },
    "2039": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6390
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xBE169E7E"
    },
    "2044": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2046": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2047": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2048": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "2053": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "AND",
      "path": "18"
    },
    "2054": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "2056": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "SHL",
      "path": "18"
    },
    "2057": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2058": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2059": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2061": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "ADD",
      "path": "18"
    },
    "2062": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2064": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2066": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2067": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2068": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP4",
      "path": "18"
    },
    "2069": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "SUB",
      "path": "18"
    },
    "2070": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2071": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2073": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP8",
      "path": "18"
    },
    "2074": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2075": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "2076": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2077": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2078": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2079": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "2082": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2083": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2085": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2086": {
      "fn": "ComponentController.archiveFromInstanceOperator",
      "offset": [
        6365,
        6392
      ],
      "op": "REVERT",
      "path": "18"
    },
    "2087": {
      "fn": "ComponentController.pause",
      "offset": [
        4972,
        5306
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2088": {
      "offset": [
        1305,
        1349
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x848"
    },
    "2091": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "2113": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "2115": {
      "op": "SHL"
    },
    "2116": {
      "offset": [
        1305,
        1324
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "2119": {
      "jump": "i",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2120": {
      "fn": "ComponentController.pause",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2121": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2123": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2125": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2127": {
      "op": "SHL"
    },
    "2128": {
      "op": "SUB"
    },
    "2129": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "2130": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "2131": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2133": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2135": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2137": {
      "op": "SHL"
    },
    "2138": {
      "op": "SUB"
    },
    "2139": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "2140": {
      "fn": "Context._msgSender",
      "offset": [
        1289,
        1349
      ],
      "op": "EQ",
      "path": "18"
    },
    "2141": {
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x878"
    },
    "2144": {
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2145": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2147": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2148": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2152": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2154": {
      "op": "SHL"
    },
    "2155": {
      "offset": [
        1267,
        1408
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2156": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2157": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2159": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "ADD",
      "path": "18"
    },
    "2160": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "2163": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2164": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20EF"
    },
    "2167": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2168": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2169": {
      "fn": "ComponentController.pause",
      "offset": [
        5071,
        5121
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 12,
      "value": "0x883"
    },
    "2172": {
      "fn": "ComponentController.pause",
      "offset": [
        5084,
        5086
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2173": {
      "fn": "ComponentController.pause",
      "offset": [
        5088,
        5120
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2175": {
      "fn": "ComponentController.pause",
      "offset": [
        5071,
        5083
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "2178": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        5071,
        5121
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2179": {
      "fn": "ComponentController.pause",
      "offset": [
        5071,
        5121
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2180": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 13,
      "value": "0x40"
    },
    "2182": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2183": {
      "op": "DUP2"
    },
    "2184": {
      "op": "DUP2"
    },
    "2185": {
      "op": "MSTORE"
    },
    "2186": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "PUSH32",
      "path": "18",
      "value": "0x45DBC7E529DF39B8D70DE83CC9E1D38C088E6BA21AB836E976F7310F1CBB8AFD"
    },
    "2219": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2220": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2222": {
      "op": "ADD"
    },
    "2223": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2225": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2226": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2227": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "2228": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "SUB",
      "path": "18"
    },
    "2229": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2230": {
      "fn": "ComponentController.pause",
      "offset": [
        5137,
        5159
      ],
      "op": "LOG1",
      "path": "18"
    },
    "2231": {
      "fn": "ComponentController.pause",
      "offset": [
        5223,
        5243
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2233": {
      "fn": "ComponentController.pause",
      "offset": [
        5246,
        5262
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x8C1"
    },
    "2236": {
      "fn": "ComponentController.pause",
      "offset": [
        5259,
        5261
      ],
      "op": "DUP3",
      "path": "18"
    },
    "2237": {
      "fn": "ComponentController.pause",
      "offset": [
        5246,
        5258
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "2240": {
      "fn": "ComponentController.pause",
      "jump": "i",
      "offset": [
        5246,
        5262
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2241": {
      "fn": "ComponentController.pause",
      "offset": [
        5246,
        5262
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2242": {
      "fn": "ComponentController.pause",
      "offset": [
        5223,
        5262
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2243": {
      "fn": "ComponentController.pause",
      "offset": [
        5223,
        5262
      ],
      "op": "POP",
      "path": "18"
    },
    "2244": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5282
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 14
    },
    "2245": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2247": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2249": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2251": {
      "op": "SHL"
    },
    "2252": {
      "op": "SUB"
    },
    "2253": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5296
      ],
      "op": "AND",
      "path": "18"
    },
    "2254": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5296
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xD73CD992"
    },
    "2259": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2261": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2262": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2263": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "2268": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "AND",
      "path": "18"
    },
    "2269": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "2271": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "SHL",
      "path": "18"
    },
    "2272": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2273": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2274": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2276": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "ADD",
      "path": "18"
    },
    "2277": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2279": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2281": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2282": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2283": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP4",
      "path": "18"
    },
    "2284": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "SUB",
      "path": "18"
    },
    "2285": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2286": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2288": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP8",
      "path": "18"
    },
    "2289": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2290": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "2291": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2292": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2293": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2294": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "2297": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2298": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2300": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2301": {
      "fn": "ComponentController.pause",
      "offset": [
        5273,
        5298
      ],
      "op": "REVERT",
      "path": "18"
    },
    "2302": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2303": {
      "fn": "ComponentController.oracles",
      "offset": [
        8805,
        8818
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2305": {
      "fn": "ComponentController.oracles",
      "offset": [
        8829,
        8859
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 15,
      "value": "0x90A"
    },
    "2308": {
      "fn": "ComponentController.oracles",
      "offset": [
        8850,
        8858
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x8"
    },
    "2310": {
      "fn": "ComponentController.oracles",
      "offset": [
        8829,
        8849
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18E7"
    },
    "2313": {
      "fn": "ComponentController.oracles",
      "jump": "i",
      "offset": [
        8829,
        8859
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2314": {
      "fn": "ComponentController.oracles",
      "offset": [
        8829,
        8859
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2315": {
      "fn": "ComponentController.oracles",
      "offset": [
        8822,
        8859
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2316": {
      "fn": "ComponentController.oracles",
      "offset": [
        8822,
        8859
      ],
      "op": "POP",
      "path": "18"
    },
    "2317": {
      "fn": "ComponentController.oracles",
      "offset": [
        8765,
        8862
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2318": {
      "fn": "ComponentController.oracles",
      "jump": "o",
      "offset": [
        8765,
        8862
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2319": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6632,
        6931
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2320": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6703,
        6713
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2322": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2324": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2326": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2328": {
      "op": "SHL"
    },
    "2329": {
      "op": "SUB"
    },
    "2330": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6734,
        6764
      ],
      "op": "DUP3",
      "path": "18",
      "statement": 16
    },
    "2331": {
      "branch": 94,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6734,
        6764
      ],
      "op": "AND",
      "path": "18"
    },
    "2332": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x973"
    },
    "2335": {
      "branch": 94,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2336": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2338": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2339": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2343": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2345": {
      "op": "SHL"
    },
    "2346": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2347": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2348": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2350": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2352": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "DUP3",
      "path": "18"
    },
    "2353": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "ADD",
      "path": "18"
    },
    "2354": {
      "op": "MSTORE"
    },
    "2355": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2357": {
      "op": "DUP1"
    },
    "2358": {
      "op": "DUP3"
    },
    "2359": {
      "op": "ADD"
    },
    "2360": {
      "op": "MSTORE"
    },
    "2361": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030363A434F4D504F4E454E545F414444524553535F"
    },
    "2394": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "2396": {
      "op": "DUP3"
    },
    "2397": {
      "op": "ADD"
    },
    "2398": {
      "op": "MSTORE"
    },
    "2399": {
      "op": "PUSH4",
      "value": "0x5A45524F"
    },
    "2404": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "2406": {
      "op": "SHL"
    },
    "2407": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "2409": {
      "op": "DUP3"
    },
    "2410": {
      "op": "ADD"
    },
    "2411": {
      "op": "MSTORE"
    },
    "2412": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "2414": {
      "op": "ADD"
    },
    "2415": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "2418": {
      "op": "JUMP"
    },
    "2419": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6726,
        6805
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2420": {
      "op": "POP"
    },
    "2421": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2423": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2425": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2427": {
      "op": "SHL"
    },
    "2428": {
      "op": "SUB"
    },
    "2429": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "DUP2",
      "path": "18",
      "statement": 17
    },
    "2430": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "AND",
      "path": "18"
    },
    "2431": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2433": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2434": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2435": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2436": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6842
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2438": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "2440": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2441": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2443": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2444": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "2445": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6821,
        6860
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "2446": {
      "branch": 95,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6881,
        6887
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 18
    },
    "2447": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "2450": {
      "branch": 95,
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2451": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2453": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2454": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2458": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2460": {
      "op": "SHL"
    },
    "2461": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2462": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2463": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2465": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2467": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "DUP3",
      "path": "18"
    },
    "2468": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "ADD",
      "path": "18"
    },
    "2469": {
      "op": "MSTORE"
    },
    "2470": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "2472": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2474": {
      "op": "DUP3"
    },
    "2475": {
      "op": "ADD"
    },
    "2476": {
      "op": "MSTORE"
    },
    "2477": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030373A434F4D504F4E454E545F554E4B4E4F574E00"
    },
    "2510": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "2512": {
      "op": "DUP3"
    },
    "2513": {
      "op": "ADD"
    },
    "2514": {
      "op": "MSTORE"
    },
    "2515": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "2517": {
      "op": "ADD"
    },
    "2518": {
      "fn": "ComponentController.getComponentId",
      "offset": [
        6873,
        6923
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "2521": {
      "op": "JUMP"
    },
    "2522": {
      "fn": "ComponentController.isProduct",
      "offset": [
        8977,
        9084
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2523": {
      "fn": "ComponentController.isProduct",
      "offset": [
        9029,
        9033
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2525": {
      "fn": "ComponentController.isProduct",
      "offset": [
        9044,
        9081
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 19,
      "value": "0x746"
    },
    "2528": {
      "fn": "ComponentController.isProduct",
      "offset": [
        9067,
        9076
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "2530": {
      "fn": "ComponentController.isProduct",
      "offset": [
        9078,
        9080
      ],
      "op": "DUP4",
      "path": "18"
    },
    "2531": {
      "fn": "ComponentController.isProduct",
      "offset": [
        9044,
        9066
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1830"
    },
    "2534": {
      "fn": "ComponentController.isProduct",
      "jump": "i",
      "offset": [
        9044,
        9081
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2535": {
      "fn": "ComponentController.resume",
      "offset": [
        4624,
        4964
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2536": {
      "offset": [
        1524,
        1570
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xA0A"
    },
    "2539": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "2563": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "2565": {
      "op": "SHL"
    },
    "2566": {
      "offset": [
        1524,
        1543
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "2569": {
      "jump": "i",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2570": {
      "fn": "ComponentController.resume",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2571": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2573": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2575": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2577": {
      "op": "SHL"
    },
    "2578": {
      "op": "SUB"
    },
    "2579": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "2580": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "2581": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2583": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2585": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2587": {
      "op": "SHL"
    },
    "2588": {
      "op": "SUB"
    },
    "2589": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "2590": {
      "fn": "Context._msgSender",
      "offset": [
        1508,
        1570
      ],
      "op": "EQ",
      "path": "18"
    },
    "2591": {
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xA3A"
    },
    "2594": {
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2595": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2597": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2598": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2602": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2604": {
      "op": "SHL"
    },
    "2605": {
      "offset": [
        1486,
        1631
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2606": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2607": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2609": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "ADD",
      "path": "18"
    },
    "2610": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "2613": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2614": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20A4"
    },
    "2617": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2618": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2619": {
      "fn": "ComponentController.resume",
      "offset": [
        4726,
        4776
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 20,
      "value": "0xA45"
    },
    "2622": {
      "fn": "ComponentController.resume",
      "offset": [
        4739,
        4741
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2623": {
      "fn": "ComponentController.resume",
      "offset": [
        4743,
        4775
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x3"
    },
    "2625": {
      "fn": "ComponentController.resume",
      "offset": [
        4726,
        4738
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "2628": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4726,
        4776
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2629": {
      "fn": "ComponentController.resume",
      "offset": [
        4726,
        4776
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2630": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 21,
      "value": "0x40"
    },
    "2632": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2633": {
      "op": "DUP2"
    },
    "2634": {
      "op": "DUP2"
    },
    "2635": {
      "op": "MSTORE"
    },
    "2636": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "PUSH32",
      "path": "18",
      "value": "0xD24597F0A62B78258EBD8C2FA52051CF673A5000D14D2FB619C91B1ED95C538A"
    },
    "2669": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2670": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2672": {
      "op": "ADD"
    },
    "2673": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2675": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2676": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2677": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "2678": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "SUB",
      "path": "18"
    },
    "2679": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2680": {
      "fn": "ComponentController.resume",
      "offset": [
        4792,
        4815
      ],
      "op": "LOG1",
      "path": "18"
    },
    "2681": {
      "fn": "ComponentController.resume",
      "offset": [
        4880,
        4900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2683": {
      "fn": "ComponentController.resume",
      "offset": [
        4903,
        4919
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xA83"
    },
    "2686": {
      "fn": "ComponentController.resume",
      "offset": [
        4916,
        4918
      ],
      "op": "DUP3",
      "path": "18"
    },
    "2687": {
      "fn": "ComponentController.resume",
      "offset": [
        4903,
        4915
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "2690": {
      "fn": "ComponentController.resume",
      "jump": "i",
      "offset": [
        4903,
        4919
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2691": {
      "fn": "ComponentController.resume",
      "offset": [
        4903,
        4919
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2692": {
      "fn": "ComponentController.resume",
      "offset": [
        4880,
        4919
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2693": {
      "fn": "ComponentController.resume",
      "offset": [
        4880,
        4919
      ],
      "op": "POP",
      "path": "18"
    },
    "2694": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4939
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 22
    },
    "2695": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2697": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2699": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2701": {
      "op": "SHL"
    },
    "2702": {
      "op": "SUB"
    },
    "2703": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4954
      ],
      "op": "AND",
      "path": "18"
    },
    "2704": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4954
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xA18F5AE2"
    },
    "2709": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2711": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2712": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2713": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "2718": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "AND",
      "path": "18"
    },
    "2719": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "2721": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "SHL",
      "path": "18"
    },
    "2722": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2723": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2724": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2726": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "ADD",
      "path": "18"
    },
    "2727": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2729": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2731": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2732": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2733": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP4",
      "path": "18"
    },
    "2734": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "SUB",
      "path": "18"
    },
    "2735": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2736": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2738": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP8",
      "path": "18"
    },
    "2739": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2740": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "2741": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2742": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2743": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2744": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "2747": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2748": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2750": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2751": {
      "fn": "ComponentController.resume",
      "offset": [
        4930,
        4956
      ],
      "op": "REVERT",
      "path": "18"
    },
    "2752": {
      "fn": "ComponentController.suspend",
      "offset": [
        4267,
        4616
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2753": {
      "offset": [
        1524,
        1570
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xAE3"
    },
    "2756": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "2780": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "2782": {
      "op": "SHL"
    },
    "2783": {
      "offset": [
        1524,
        1543
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "2786": {
      "jump": "i",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2787": {
      "fn": "ComponentController.suspend",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2788": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2790": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2792": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2794": {
      "op": "SHL"
    },
    "2795": {
      "op": "SUB"
    },
    "2796": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "2797": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "2798": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2800": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2802": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2804": {
      "op": "SHL"
    },
    "2805": {
      "op": "SUB"
    },
    "2806": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "2807": {
      "fn": "Context._msgSender",
      "offset": [
        1508,
        1570
      ],
      "op": "EQ",
      "path": "18"
    },
    "2808": {
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB13"
    },
    "2811": {
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2812": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2814": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2815": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2819": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2821": {
      "op": "SHL"
    },
    "2822": {
      "offset": [
        1486,
        1631
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2823": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2824": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2826": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "ADD",
      "path": "18"
    },
    "2827": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "2830": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2831": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20A4"
    },
    "2834": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2835": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2836": {
      "fn": "ComponentController.suspend",
      "offset": [
        4370,
        4423
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 23,
      "value": "0xB1E"
    },
    "2839": {
      "fn": "ComponentController.suspend",
      "offset": [
        4383,
        4385
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2840": {
      "fn": "ComponentController.suspend",
      "offset": [
        4387,
        4422
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x5"
    },
    "2842": {
      "fn": "ComponentController.suspend",
      "offset": [
        4370,
        4382
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "2845": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4370,
        4423
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2846": {
      "fn": "ComponentController.suspend",
      "offset": [
        4370,
        4423
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2847": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 24,
      "value": "0x40"
    },
    "2849": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2850": {
      "op": "DUP2"
    },
    "2851": {
      "op": "DUP2"
    },
    "2852": {
      "op": "MSTORE"
    },
    "2853": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "PUSH32",
      "path": "18",
      "value": "0x55D2D8495549E354E6EE012C5AA183EB0E08EE2F256349AFB0F7F74D1940F9B3"
    },
    "2886": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2887": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2889": {
      "op": "ADD"
    },
    "2890": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2892": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2893": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2894": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "2895": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "SUB",
      "path": "18"
    },
    "2896": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2897": {
      "fn": "ComponentController.suspend",
      "offset": [
        4439,
        4464
      ],
      "op": "LOG1",
      "path": "18"
    },
    "2898": {
      "fn": "ComponentController.suspend",
      "offset": [
        4531,
        4551
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2900": {
      "fn": "ComponentController.suspend",
      "offset": [
        4554,
        4570
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB5C"
    },
    "2903": {
      "fn": "ComponentController.suspend",
      "offset": [
        4567,
        4569
      ],
      "op": "DUP3",
      "path": "18"
    },
    "2904": {
      "fn": "ComponentController.suspend",
      "offset": [
        4554,
        4566
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "2907": {
      "fn": "ComponentController.suspend",
      "jump": "i",
      "offset": [
        4554,
        4570
      ],
      "op": "JUMP",
      "path": "18"
    },
    "2908": {
      "fn": "ComponentController.suspend",
      "offset": [
        4554,
        4570
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2909": {
      "fn": "ComponentController.suspend",
      "offset": [
        4531,
        4570
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2910": {
      "fn": "ComponentController.suspend",
      "offset": [
        4531,
        4570
      ],
      "op": "POP",
      "path": "18"
    },
    "2911": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4590
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 25
    },
    "2912": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2914": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2916": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2918": {
      "op": "SHL"
    },
    "2919": {
      "op": "SUB"
    },
    "2920": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4606
      ],
      "op": "AND",
      "path": "18"
    },
    "2921": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4606
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xB3FCA9BD"
    },
    "2926": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2928": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2929": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2930": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "2935": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "AND",
      "path": "18"
    },
    "2936": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "2938": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "SHL",
      "path": "18"
    },
    "2939": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2940": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2941": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "2943": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "ADD",
      "path": "18"
    },
    "2944": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2946": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2948": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "2949": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2950": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP4",
      "path": "18"
    },
    "2951": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "SUB",
      "path": "18"
    },
    "2952": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2953": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2955": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP8",
      "path": "18"
    },
    "2956": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2957": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "2958": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2959": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2960": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "2961": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "2964": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2965": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2967": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "DUP1",
      "path": "18"
    },
    "2968": {
      "fn": "ComponentController.suspend",
      "offset": [
        4581,
        4608
      ],
      "op": "REVERT",
      "path": "18"
    },
    "2969": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6408,
        6624
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "2970": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6463,
        6483
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "2972": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "DUP2",
      "path": "18",
      "statement": 26
    },
    "2973": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "DUP2",
      "path": "18"
    },
    "2974": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2975": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6522
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "2977": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "2979": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "2980": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "2982": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "2983": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "2984": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "2985": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2987": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2989": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2991": {
      "op": "SHL"
    },
    "2992": {
      "op": "SUB"
    },
    "2993": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6508,
        6526
      ],
      "op": "AND",
      "path": "18"
    },
    "2994": {
      "branch": 96,
      "fn": "ComponentController.getComponent",
      "offset": [
        6545,
        6577
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 27
    },
    "2995": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "2998": {
      "branch": 96,
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "2999": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3001": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3002": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3006": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3008": {
      "op": "SHL"
    },
    "3009": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3010": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3011": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3013": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3015": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3016": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "ADD",
      "path": "18"
    },
    "3017": {
      "op": "MSTORE"
    },
    "3018": {
      "op": "PUSH1",
      "value": "0x22"
    },
    "3020": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "3022": {
      "op": "DUP3"
    },
    "3023": {
      "op": "ADD"
    },
    "3024": {
      "op": "MSTORE"
    },
    "3025": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030353A494E56414C49445F434F4D504F4E454E545F"
    },
    "3058": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "3060": {
      "op": "DUP3"
    },
    "3061": {
      "op": "ADD"
    },
    "3062": {
      "op": "MSTORE"
    },
    "3063": {
      "op": "PUSH2",
      "value": "0x1251"
    },
    "3066": {
      "op": "PUSH1",
      "value": "0xF2"
    },
    "3068": {
      "op": "SHL"
    },
    "3069": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "3071": {
      "op": "DUP3"
    },
    "3072": {
      "op": "ADD"
    },
    "3073": {
      "op": "MSTORE"
    },
    "3074": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "3076": {
      "op": "ADD"
    },
    "3077": {
      "fn": "ComponentController.getComponent",
      "offset": [
        6537,
        6616
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "3080": {
      "op": "JUMP"
    },
    "3081": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8058,
        8561
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3082": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8146,
        8153
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3084": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8187,
        8219
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1"
    },
    "3086": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8183
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3087": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "3089": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3090": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "GT",
      "path": "18"
    },
    "3091": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3092": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xC2D"
    },
    "3095": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3096": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "3101": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "3103": {
      "op": "SHL"
    },
    "3104": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3106": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3107": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "3109": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3111": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3112": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "3114": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3116": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3117": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3118": {
      "branch": 97,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8170,
        8219
      ],
      "op": "EQ",
      "path": "18"
    },
    "3119": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8166,
        8554
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3120": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8166,
        8554
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xCC0"
    },
    "3123": {
      "branch": 97,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8166,
        8554
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3124": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 28,
      "value": "0x1"
    },
    "3126": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3128": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3129": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "3130": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3131": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x100"
    },
    "3134": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "EXP",
      "path": "18"
    },
    "3135": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3136": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "DIV",
      "path": "18"
    },
    "3137": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3139": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3141": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3143": {
      "op": "SHL"
    },
    "3144": {
      "op": "SUB"
    },
    "3145": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8237
      ],
      "op": "AND",
      "path": "18"
    },
    "3146": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3148": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3150": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3152": {
      "op": "SHL"
    },
    "3153": {
      "op": "SUB"
    },
    "3154": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8257
      ],
      "op": "AND",
      "path": "18"
    },
    "3155": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8257
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x775A4048"
    },
    "3160": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3162": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3163": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3164": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "3169": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "AND",
      "path": "18"
    },
    "3170": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "3172": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "SHL",
      "path": "18"
    },
    "3173": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3174": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3175": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3177": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ADD",
      "path": "18"
    },
    "3178": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "3180": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3182": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3183": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3184": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP4",
      "path": "18"
    },
    "3185": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "SUB",
      "path": "18"
    },
    "3186": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3187": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP7",
      "path": "18"
    },
    "3188": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3189": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "3190": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3191": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3192": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3193": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xC81"
    },
    "3196": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3197": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3199": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3200": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3201": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3202": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "POP",
      "path": "18"
    },
    "3203": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "GAS",
      "path": "18"
    },
    "3204": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "3205": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3206": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3207": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3208": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xC95"
    },
    "3211": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3212": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "3213": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3215": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3216": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "3217": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "3218": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3220": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3221": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3222": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "POP",
      "path": "18"
    },
    "3223": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "POP",
      "path": "18"
    },
    "3224": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "POP",
      "path": "18"
    },
    "3225": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "POP",
      "path": "18"
    },
    "3226": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3228": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3229": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "3230": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "3232": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "NOT",
      "path": "18"
    },
    "3233": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "3235": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3236": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ADD",
      "path": "18"
    },
    "3237": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "AND",
      "path": "18"
    },
    "3238": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3239": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ADD",
      "path": "18"
    },
    "3240": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3241": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3243": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3244": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "POP",
      "path": "18"
    },
    "3245": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3246": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "ADD",
      "path": "18"
    },
    "3247": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3248": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xCB9"
    },
    "3251": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "3252": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3253": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FCD"
    },
    "3256": {
      "fn": "ComponentController.getRequiredRole",
      "jump": "i",
      "offset": [
        8230,
        8259
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3257": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8230,
        8259
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3258": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8223,
        8259
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3259": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8223,
        8259
      ],
      "op": "POP",
      "path": "18"
    },
    "3260": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8223,
        8259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "3263": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8223,
        8259
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3264": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8166,
        8554
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3265": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8298,
        8329
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3267": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8294
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3268": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "3270": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3271": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "GT",
      "path": "18"
    },
    "3272": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3273": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xCE2"
    },
    "3276": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3277": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "3282": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "3284": {
      "op": "SHL"
    },
    "3285": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3287": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3288": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "3290": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3292": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3293": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "3295": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3297": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3298": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3299": {
      "branch": 98,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8281,
        8329
      ],
      "op": "EQ",
      "path": "18"
    },
    "3300": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8277,
        8554
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3301": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8277,
        8554
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xD36"
    },
    "3304": {
      "branch": 98,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8277,
        8554
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3305": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 29,
      "value": "0x1"
    },
    "3307": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3309": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3310": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "3311": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3312": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x100"
    },
    "3315": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "EXP",
      "path": "18"
    },
    "3316": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3317": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "DIV",
      "path": "18"
    },
    "3318": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3320": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3322": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3324": {
      "op": "SHL"
    },
    "3325": {
      "op": "SUB"
    },
    "3326": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8347
      ],
      "op": "AND",
      "path": "18"
    },
    "3327": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3329": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3331": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3333": {
      "op": "SHL"
    },
    "3334": {
      "op": "SUB"
    },
    "3335": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8369
      ],
      "op": "AND",
      "path": "18"
    },
    "3336": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8369
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xD49D21C0"
    },
    "3341": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3343": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3344": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3345": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "3350": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "AND",
      "path": "18"
    },
    "3351": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "3353": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "SHL",
      "path": "18"
    },
    "3354": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3355": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3356": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3358": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "ADD",
      "path": "18"
    },
    "3359": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "3361": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3363": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3364": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3365": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP4",
      "path": "18"
    },
    "3366": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "SUB",
      "path": "18"
    },
    "3367": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3368": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP7",
      "path": "18"
    },
    "3369": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3370": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "3371": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3372": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3373": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3374": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xC81"
    },
    "3377": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3378": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3380": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3381": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8340,
        8371
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3382": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8277,
        8554
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3383": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8410,
        8443
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "3385": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8406
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3386": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "3388": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3389": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "GT",
      "path": "18"
    },
    "3390": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3391": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xD58"
    },
    "3394": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3395": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "3400": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "3402": {
      "op": "SHL"
    },
    "3403": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3405": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3406": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "3408": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3410": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3411": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "3413": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3415": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3416": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3417": {
      "branch": 99,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8393,
        8443
      ],
      "op": "EQ",
      "path": "18"
    },
    "3418": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8389,
        8554
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3419": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8389,
        8554
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xDAC"
    },
    "3422": {
      "branch": 99,
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8389,
        8554
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3423": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 30,
      "value": "0x1"
    },
    "3425": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3427": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3428": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "3429": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3430": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x100"
    },
    "3433": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "EXP",
      "path": "18"
    },
    "3434": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3435": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "DIV",
      "path": "18"
    },
    "3436": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3438": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3440": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3442": {
      "op": "SHL"
    },
    "3443": {
      "op": "SUB"
    },
    "3444": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8461
      ],
      "op": "AND",
      "path": "18"
    },
    "3445": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3447": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3449": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3451": {
      "op": "SHL"
    },
    "3452": {
      "op": "SUB"
    },
    "3453": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8483
      ],
      "op": "AND",
      "path": "18"
    },
    "3454": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8483
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x3FFDD2F3"
    },
    "3459": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3461": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3462": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3463": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "3468": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "AND",
      "path": "18"
    },
    "3469": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "3471": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "SHL",
      "path": "18"
    },
    "3472": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3473": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3474": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3476": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "ADD",
      "path": "18"
    },
    "3477": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "3479": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3481": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3482": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3483": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP4",
      "path": "18"
    },
    "3484": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "SUB",
      "path": "18"
    },
    "3485": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3486": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP7",
      "path": "18"
    },
    "3487": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3488": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "3489": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3490": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3491": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3492": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xC81"
    },
    "3495": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3496": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3498": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3499": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8454,
        8485
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3500": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8389,
        8554
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3501": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 31,
      "value": "0x40"
    },
    "3503": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3504": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3508": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3510": {
      "op": "SHL"
    },
    "3511": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3512": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3513": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3515": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3517": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3518": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "ADD",
      "path": "18"
    },
    "3519": {
      "op": "MSTORE"
    },
    "3520": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "3522": {
      "op": "DUP1"
    },
    "3523": {
      "op": "DUP3"
    },
    "3524": {
      "op": "ADD"
    },
    "3525": {
      "op": "MSTORE"
    },
    "3526": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3031303A434F4D504F4E454E545F545950455F554E4B"
    },
    "3559": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "3561": {
      "op": "DUP3"
    },
    "3562": {
      "op": "ADD"
    },
    "3563": {
      "op": "MSTORE"
    },
    "3564": {
      "op": "PUSH4",
      "value": "0x2727ABA7"
    },
    "3569": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "3571": {
      "op": "SHL"
    },
    "3572": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "3574": {
      "op": "DUP3"
    },
    "3575": {
      "op": "ADD"
    },
    "3576": {
      "op": "MSTORE"
    },
    "3577": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "3579": {
      "op": "ADD"
    },
    "3580": {
      "fn": "ComponentController.getRequiredRole",
      "offset": [
        8505,
        8551
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "3583": {
      "op": "JUMP"
    },
    "3584": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        5664,
        6026
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3585": {
      "offset": [
        1305,
        1349
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xE21"
    },
    "3588": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "3610": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "3612": {
      "op": "SHL"
    },
    "3613": {
      "offset": [
        1305,
        1324
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "3616": {
      "jump": "i",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3617": {
      "fn": "ComponentController.archiveFromComponentOwner",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3618": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3620": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3622": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3624": {
      "op": "SHL"
    },
    "3625": {
      "op": "SUB"
    },
    "3626": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "3627": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "3628": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3630": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3632": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3634": {
      "op": "SHL"
    },
    "3635": {
      "op": "SUB"
    },
    "3636": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "3637": {
      "fn": "Context._msgSender",
      "offset": [
        1289,
        1349
      ],
      "op": "EQ",
      "path": "18"
    },
    "3638": {
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x7A1"
    },
    "3641": {
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3642": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3644": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3645": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3649": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3651": {
      "op": "SHL"
    },
    "3652": {
      "offset": [
        1267,
        1408
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3653": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3654": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3656": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "ADD",
      "path": "18"
    },
    "3657": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "3660": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3661": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20EF"
    },
    "3664": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3665": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7917,
        8050
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3666": {
      "fn": "ComponentController.getProductId",
      "offset": [
        7973,
        7990
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3668": {
      "fn": "ComponentController.getProductId",
      "offset": [
        8010,
        8042
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 32,
      "value": "0x746"
    },
    "3671": {
      "fn": "ComponentController.getProductId",
      "offset": [
        8027,
        8036
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "3673": {
      "fn": "ComponentController.getProductId",
      "offset": [
        8038,
        8041
      ],
      "op": "DUP4",
      "path": "18"
    },
    "3674": {
      "fn": "ComponentController.getProductId",
      "offset": [
        8010,
        8026
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18F1"
    },
    "3677": {
      "fn": "ComponentController.getProductId",
      "jump": "i",
      "offset": [
        8010,
        8042
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3678": {
      "fn": "ComponentController.decline",
      "offset": [
        3916,
        4259
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3679": {
      "offset": [
        1524,
        1570
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xE81"
    },
    "3682": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "3706": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "3708": {
      "op": "SHL"
    },
    "3709": {
      "offset": [
        1524,
        1543
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "3712": {
      "jump": "i",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3713": {
      "fn": "ComponentController.decline",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3714": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3716": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3718": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3720": {
      "op": "SHL"
    },
    "3721": {
      "op": "SUB"
    },
    "3722": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "3723": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "3724": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3726": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3728": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3730": {
      "op": "SHL"
    },
    "3731": {
      "op": "SUB"
    },
    "3732": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "3733": {
      "fn": "Context._msgSender",
      "offset": [
        1508,
        1570
      ],
      "op": "EQ",
      "path": "18"
    },
    "3734": {
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xEB1"
    },
    "3737": {
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3738": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3740": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3741": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3745": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3747": {
      "op": "SHL"
    },
    "3748": {
      "offset": [
        1486,
        1631
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3749": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3750": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3752": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "ADD",
      "path": "18"
    },
    "3753": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "3756": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3757": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20A4"
    },
    "3760": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3761": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3762": {
      "fn": "ComponentController.decline",
      "offset": [
        4018,
        4070
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 33,
      "value": "0xEBC"
    },
    "3765": {
      "fn": "ComponentController.decline",
      "offset": [
        4031,
        4033
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3766": {
      "fn": "ComponentController.decline",
      "offset": [
        4035,
        4069
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "3768": {
      "fn": "ComponentController.decline",
      "offset": [
        4018,
        4030
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "3771": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        4018,
        4070
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3772": {
      "fn": "ComponentController.decline",
      "offset": [
        4018,
        4070
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3773": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 34,
      "value": "0x40"
    },
    "3775": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3776": {
      "op": "DUP2"
    },
    "3777": {
      "op": "DUP2"
    },
    "3778": {
      "op": "MSTORE"
    },
    "3779": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "PUSH32",
      "path": "18",
      "value": "0xD541B5F22E9E402FB32220D566405510C49372D27B4F47F1D0DA1A153EA2007C"
    },
    "3812": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3813": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3815": {
      "op": "ADD"
    },
    "3816": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3818": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3819": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3820": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "3821": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "SUB",
      "path": "18"
    },
    "3822": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3823": {
      "fn": "ComponentController.decline",
      "offset": [
        4086,
        4110
      ],
      "op": "LOG1",
      "path": "18"
    },
    "3824": {
      "fn": "ComponentController.decline",
      "offset": [
        4174,
        4194
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3826": {
      "fn": "ComponentController.decline",
      "offset": [
        4197,
        4213
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xEFA"
    },
    "3829": {
      "fn": "ComponentController.decline",
      "offset": [
        4210,
        4212
      ],
      "op": "DUP3",
      "path": "18"
    },
    "3830": {
      "fn": "ComponentController.decline",
      "offset": [
        4197,
        4209
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "3833": {
      "fn": "ComponentController.decline",
      "jump": "i",
      "offset": [
        4197,
        4213
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3834": {
      "fn": "ComponentController.decline",
      "offset": [
        4197,
        4213
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3835": {
      "fn": "ComponentController.decline",
      "offset": [
        4174,
        4213
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3836": {
      "fn": "ComponentController.decline",
      "offset": [
        4174,
        4213
      ],
      "op": "POP",
      "path": "18"
    },
    "3837": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4233
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 35
    },
    "3838": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3840": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3842": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3844": {
      "op": "SHL"
    },
    "3845": {
      "op": "SUB"
    },
    "3846": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4249
      ],
      "op": "AND",
      "path": "18"
    },
    "3847": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4249
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xBD1FE5D0"
    },
    "3852": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3854": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3855": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3856": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "3861": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "AND",
      "path": "18"
    },
    "3862": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "3864": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "SHL",
      "path": "18"
    },
    "3865": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3866": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3867": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3869": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "ADD",
      "path": "18"
    },
    "3870": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3872": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3874": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3875": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3876": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP4",
      "path": "18"
    },
    "3877": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "SUB",
      "path": "18"
    },
    "3878": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3879": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3881": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP8",
      "path": "18"
    },
    "3882": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3883": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "3884": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3885": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3886": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "3887": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "3890": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3891": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3893": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "DUP1",
      "path": "18"
    },
    "3894": {
      "fn": "ComponentController.decline",
      "offset": [
        4224,
        4251
      ],
      "op": "REVERT",
      "path": "18"
    },
    "3895": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8868,
        8969
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3896": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8910,
        8923
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3898": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8934,
        8966
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 36,
      "value": "0x90A"
    },
    "3901": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8955,
        8965
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xA"
    },
    "3903": {
      "fn": "ComponentController.riskpools",
      "offset": [
        8934,
        8954
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18E7"
    },
    "3906": {
      "fn": "ComponentController.riskpools",
      "jump": "i",
      "offset": [
        8934,
        8966
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3907": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7635,
        7765
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3908": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7690,
        7706
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "3910": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7726,
        7757
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 37,
      "value": "0x746"
    },
    "3913": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7743,
        7751
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x8"
    },
    "3915": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7753,
        7756
      ],
      "op": "DUP4",
      "path": "18"
    },
    "3916": {
      "fn": "ComponentController.getOracleId",
      "offset": [
        7726,
        7742
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18F1"
    },
    "3919": {
      "fn": "ComponentController.getOracleId",
      "jump": "i",
      "offset": [
        7726,
        7757
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3920": {
      "fn": "ComponentController.approve",
      "offset": [
        3421,
        3908
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3921": {
      "offset": [
        1524,
        1570
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xF73"
    },
    "3924": {
      "op": "PUSH23",
      "value": "0x496E7374616E63654F70657261746F7253657276696365"
    },
    "3948": {
      "op": "PUSH1",
      "value": "0x48"
    },
    "3950": {
      "op": "SHL"
    },
    "3951": {
      "offset": [
        1524,
        1543
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "3954": {
      "jump": "i",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMP",
      "path": "18"
    },
    "3955": {
      "fn": "ComponentController.approve",
      "offset": [
        1524,
        1570
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "3956": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3958": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3960": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3962": {
      "op": "SHL"
    },
    "3963": {
      "op": "SUB"
    },
    "3964": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "3965": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "3966": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3968": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3970": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3972": {
      "op": "SHL"
    },
    "3973": {
      "op": "SUB"
    },
    "3974": {
      "offset": [
        1508,
        1570
      ],
      "op": "AND",
      "path": "18"
    },
    "3975": {
      "branch": 100,
      "fn": "Context._msgSender",
      "offset": [
        1508,
        1570
      ],
      "op": "EQ",
      "path": "18"
    },
    "3976": {
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xFA3"
    },
    "3979": {
      "branch": 100,
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "3980": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "3982": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "3983": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3987": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3989": {
      "op": "SHL"
    },
    "3990": {
      "offset": [
        1486,
        1631
      ],
      "op": "DUP2",
      "path": "18"
    },
    "3991": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "3992": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "3994": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "ADD",
      "path": "18"
    },
    "3995": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "3998": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "3999": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20A4"
    },
    "4002": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4003": {
      "fn": "Context._msgSender",
      "offset": [
        1486,
        1631
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4004": {
      "fn": "ComponentController.approve",
      "offset": [
        3523,
        3573
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 38,
      "value": "0xFAE"
    },
    "4007": {
      "fn": "ComponentController.approve",
      "offset": [
        3536,
        3538
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4008": {
      "fn": "ComponentController.approve",
      "offset": [
        3540,
        3572
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x3"
    },
    "4010": {
      "fn": "ComponentController.approve",
      "offset": [
        3523,
        3535
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "4013": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3523,
        3573
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4014": {
      "fn": "ComponentController.approve",
      "offset": [
        3523,
        3573
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4015": {
      "fn": "ComponentController.approve",
      "offset": [
        3584,
        3604
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4017": {
      "fn": "ComponentController.approve",
      "offset": [
        3607,
        3623
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xFB9"
    },
    "4020": {
      "fn": "ComponentController.approve",
      "offset": [
        3620,
        3622
      ],
      "op": "DUP3",
      "path": "18"
    },
    "4021": {
      "fn": "ComponentController.approve",
      "offset": [
        3607,
        3619
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "4024": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3607,
        3623
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4025": {
      "fn": "ComponentController.approve",
      "offset": [
        3607,
        3623
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4026": {
      "fn": "ComponentController.approve",
      "offset": [
        3584,
        3623
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4027": {
      "fn": "ComponentController.approve",
      "offset": [
        3584,
        3623
      ],
      "op": "POP",
      "path": "18"
    },
    "4028": {
      "fn": "ComponentController.approve",
      "offset": [
        3640,
        3653
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xFC4"
    },
    "4031": {
      "fn": "ComponentController.approve",
      "offset": [
        3650,
        3652
      ],
      "op": "DUP3",
      "path": "18"
    },
    "4032": {
      "fn": "ComponentController.approve",
      "offset": [
        3640,
        3649
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x9DA"
    },
    "4035": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3640,
        3653
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4036": {
      "branch": 101,
      "fn": "ComponentController.approve",
      "offset": [
        3640,
        3653
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4037": {
      "fn": "ComponentController.approve",
      "offset": [
        3636,
        3755
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4038": {
      "fn": "ComponentController.approve",
      "offset": [
        3636,
        3755
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1067"
    },
    "4041": {
      "branch": 101,
      "fn": "ComponentController.approve",
      "offset": [
        3636,
        3755
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4042": {
      "fn": "ComponentController.approve",
      "offset": [
        3716,
        3725
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 39
    },
    "4043": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4045": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4047": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4049": {
      "op": "SHL"
    },
    "4050": {
      "op": "SUB"
    },
    "4051": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3741
      ],
      "op": "AND",
      "path": "18"
    },
    "4052": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3741
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x637D08F4"
    },
    "4057": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4059": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4060": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4061": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "4066": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "AND",
      "path": "18"
    },
    "4067": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "4069": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "SHL",
      "path": "18"
    },
    "4070": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4071": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4072": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "4074": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ADD",
      "path": "18"
    },
    "4075": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "4077": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4079": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4080": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4081": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP4",
      "path": "18"
    },
    "4082": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "SUB",
      "path": "18"
    },
    "4083": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4084": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP7",
      "path": "18"
    },
    "4085": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4086": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "4087": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4088": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4089": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4090": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1002"
    },
    "4093": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4094": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4096": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4097": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "REVERT",
      "path": "18"
    },
    "4098": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4099": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "POP",
      "path": "18"
    },
    "4100": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "GAS",
      "path": "18"
    },
    "4101": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "4102": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4103": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4104": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4105": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1016"
    },
    "4108": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4109": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "4110": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4112": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4113": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "4114": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "4115": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4117": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "REVERT",
      "path": "18"
    },
    "4118": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4119": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "POP",
      "path": "18"
    },
    "4120": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "POP",
      "path": "18"
    },
    "4121": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "POP",
      "path": "18"
    },
    "4122": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "POP",
      "path": "18"
    },
    "4123": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4125": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4126": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "4127": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "4129": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "NOT",
      "path": "18"
    },
    "4130": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "4132": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP3",
      "path": "18"
    },
    "4133": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ADD",
      "path": "18"
    },
    "4134": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "AND",
      "path": "18"
    },
    "4135": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP3",
      "path": "18"
    },
    "4136": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ADD",
      "path": "18"
    },
    "4137": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4138": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4140": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4141": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "POP",
      "path": "18"
    },
    "4142": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4143": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "ADD",
      "path": "18"
    },
    "4144": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4145": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x103A"
    },
    "4148": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "4149": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4150": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1F91"
    },
    "4153": {
      "fn": "ComponentController.approve",
      "jump": "i",
      "offset": [
        3699,
        3743
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4154": {
      "fn": "ComponentController.approve",
      "offset": [
        3699,
        3743
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4155": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4157": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "DUP4",
      "path": "18"
    },
    "4158": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4159": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4160": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3692
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xD"
    },
    "4162": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "4164": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4165": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4167": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4168": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3696
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "4169": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4170": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "4171": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4173": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4175": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4177": {
      "op": "SHL"
    },
    "4178": {
      "op": "SUB"
    },
    "4179": {
      "op": "NOT"
    },
    "4180": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "AND",
      "path": "18"
    },
    "4181": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4183": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4185": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4187": {
      "op": "SHL"
    },
    "4188": {
      "op": "SUB"
    },
    "4189": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SWAP3",
      "path": "18"
    },
    "4190": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4191": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SWAP3",
      "path": "18"
    },
    "4192": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "AND",
      "path": "18"
    },
    "4193": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "4194": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4195": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "4196": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "OR",
      "path": "18"
    },
    "4197": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4198": {
      "fn": "ComponentController.approve",
      "offset": [
        3670,
        3743
      ],
      "op": "SSTORE",
      "path": "18"
    },
    "4199": {
      "fn": "ComponentController.approve",
      "offset": [
        3636,
        3755
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4200": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 40,
      "value": "0x40"
    },
    "4202": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4203": {
      "op": "DUP3"
    },
    "4204": {
      "op": "DUP2"
    },
    "4205": {
      "op": "MSTORE"
    },
    "4206": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "PUSH32",
      "path": "18",
      "value": "0xF8D33755281AA5D41B12A70AE3947EE164EF541D786400D733B0B89DF719859E"
    },
    "4239": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4240": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4242": {
      "op": "ADD"
    },
    "4243": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4245": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4246": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4247": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "4248": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "SUB",
      "path": "18"
    },
    "4249": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4250": {
      "fn": "ComponentController.approve",
      "offset": [
        3772,
        3796
      ],
      "op": "LOG1",
      "path": "18"
    },
    "4251": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3881
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 41
    },
    "4252": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4254": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4256": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4258": {
      "op": "SHL"
    },
    "4259": {
      "op": "SUB"
    },
    "4260": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3898
      ],
      "op": "AND",
      "path": "18"
    },
    "4261": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3898
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x1B867C63"
    },
    "4266": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4268": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4269": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4270": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "4275": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "AND",
      "path": "18"
    },
    "4276": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "4278": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "SHL",
      "path": "18"
    },
    "4279": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4280": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4281": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "4283": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "ADD",
      "path": "18"
    },
    "4284": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4286": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4288": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4289": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4290": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP4",
      "path": "18"
    },
    "4291": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "SUB",
      "path": "18"
    },
    "4292": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4293": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4295": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP8",
      "path": "18"
    },
    "4296": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4297": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "4298": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4299": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4300": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4301": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "4304": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4305": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4307": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "DUP1",
      "path": "18"
    },
    "4308": {
      "fn": "ComponentController.approve",
      "offset": [
        3872,
        3900
      ],
      "op": "REVERT",
      "path": "18"
    },
    "4309": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9205,
        9314
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4310": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9258,
        9262
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4312": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9273,
        9311
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 42,
      "value": "0x746"
    },
    "4315": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9296,
        9306
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xA"
    },
    "4317": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9308,
        9310
      ],
      "op": "DUP4",
      "path": "18"
    },
    "4318": {
      "fn": "ComponentController.isRiskpool",
      "offset": [
        9273,
        9295
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1830"
    },
    "4321": {
      "fn": "ComponentController.isRiskpool",
      "jump": "i",
      "offset": [
        9273,
        9311
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4322": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "4323": {
      "offset": [
        3100,
        3119
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x0"
    },
    "4325": {
      "offset": [
        3123,
        3136
      ],
      "op": "SLOAD",
      "path": "1"
    },
    "4326": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x100"
    },
    "4329": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "4330": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "DIV",
      "path": "1"
    },
    "4331": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0xFF"
    },
    "4333": {
      "fn": "CoreController.initialize",
      "offset": [
        3123,
        3136
      ],
      "op": "AND",
      "path": "1"
    },
    "4334": {
      "offset": [
        3122,
        3136
      ],
      "op": "ISZERO",
      "path": "1"
    },
    "4335": {
      "fn": "CoreController.initialize",
      "offset": [
        3122,
        3136
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4336": {
      "offset": [
        3168,
        3202
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4337": {
      "fn": "CoreController.initialize",
      "offset": [
        3168,
        3202
      ],
      "op": "ISZERO",
      "path": "1"
    },
    "4338": {
      "fn": "CoreController.initialize",
      "offset": [
        3168,
        3202
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x1102"
    },
    "4341": {
      "fn": "CoreController.initialize",
      "offset": [
        3168,
        3202
      ],
      "op": "JUMPI",
      "path": "1"
    },
    "4342": {
      "op": "POP"
    },
    "4343": {
      "offset": [
        3186,
        3198
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x0"
    },
    "4345": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "SLOAD",
      "path": "1"
    },
    "4346": {
      "offset": [
        3201,
        3202
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x1"
    },
    "4348": {
      "offset": [
        3186,
        3198
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0xFF"
    },
    "4350": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "4351": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "SWAP2",
      "path": "1"
    },
    "4352": {
      "fn": "CoreController.initialize",
      "offset": [
        3186,
        3198
      ],
      "op": "AND",
      "path": "1"
    },
    "4353": {
      "offset": [
        3186,
        3202
      ],
      "op": "LT",
      "path": "1"
    },
    "4354": {
      "offset": [
        3168,
        3202
      ],
      "op": "JUMPDEST",
      "path": "1"
    },
    "4355": {
      "offset": [
        3167,
        3264
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4356": {
      "fn": "CoreController.initialize",
      "offset": [
        3167,
        3264
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x111C"
    },
    "4359": {
      "offset": [
        3167,
        3264
      ],
      "op": "JUMPI",
      "path": "1"
    },
    "4360": {
      "op": "POP"
    },
    "4361": {
      "offset": [
        3236,
        3240
      ],
      "op": "ADDRESS",
      "path": "1"
    },
    "4362": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1484
      ],
      "op": "EXTCODESIZE",
      "path": "10",
      "statement": 43
    },
    "4363": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1488
      ],
      "op": "ISZERO",
      "path": "10"
    },
    "4364": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1488
      ],
      "op": "DUP1",
      "path": "10"
    },
    "4365": {
      "fn": "Address.isContract",
      "offset": [
        1465,
        1488
      ],
      "op": "ISZERO",
      "path": "10"
    },
    "4366": {
      "offset": [
        3208,
        3263
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x111C"
    },
    "4369": {
      "fn": "Address.isContract",
      "offset": [
        3208,
        3263
      ],
      "op": "JUMPI",
      "path": "1"
    },
    "4370": {
      "op": "POP"
    },
    "4371": {
      "offset": [
        3246,
        3258
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x0"
    },
    "4373": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "SLOAD",
      "path": "1"
    },
    "4374": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0xFF"
    },
    "4376": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "AND",
      "path": "1"
    },
    "4377": {
      "fn": "Address.isContract",
      "offset": [
        3246,
        3258
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x1"
    },
    "4379": {
      "offset": [
        3246,
        3263
      ],
      "op": "EQ",
      "path": "1"
    },
    "4380": {
      "offset": [
        3208,
        3263
      ],
      "op": "JUMPDEST",
      "path": "1"
    },
    "4381": {
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x117F"
    },
    "4384": {
      "offset": [
        3146,
        3336
      ],
      "op": "JUMPI",
      "path": "1"
    },
    "4385": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x40"
    },
    "4387": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "MLOAD",
      "path": "1"
    },
    "4388": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4392": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4394": {
      "op": "SHL"
    },
    "4395": {
      "offset": [
        3146,
        3336
      ],
      "op": "DUP2",
      "path": "1"
    },
    "4396": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "MSTORE",
      "path": "1"
    },
    "4397": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4399": {
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x4"
    },
    "4401": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "DUP3",
      "path": "1"
    },
    "4402": {
      "fn": "Address.isContract",
      "offset": [
        3146,
        3336
      ],
      "op": "ADD",
      "path": "1"
    },
    "4403": {
      "op": "MSTORE"
    },
    "4404": {
      "op": "PUSH1",
      "value": "0x2E"
    },
    "4406": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "4408": {
      "op": "DUP3"
    },
    "4409": {
      "op": "ADD"
    },
    "4410": {
      "op": "MSTORE"
    },
    "4411": {
      "op": "PUSH32",
      "value": "0x496E697469616C697A61626C653A20636F6E747261637420697320616C726561"
    },
    "4444": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "4446": {
      "op": "DUP3"
    },
    "4447": {
      "op": "ADD"
    },
    "4448": {
      "op": "MSTORE"
    },
    "4449": {
      "op": "PUSH14",
      "value": "0x191E481A5B9A5D1A585B1A5E9959"
    },
    "4464": {
      "op": "PUSH1",
      "value": "0x92"
    },
    "4466": {
      "op": "SHL"
    },
    "4467": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "4469": {
      "op": "DUP3"
    },
    "4470": {
      "op": "ADD"
    },
    "4471": {
      "op": "MSTORE"
    },
    "4472": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "4474": {
      "op": "ADD"
    },
    "4475": {
      "offset": [
        3146,
        3336
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x453"
    },
    "4478": {
      "op": "JUMP"
    },
    "4479": {
      "offset": [
        3146,
        3336
      ],
      "op": "JUMPDEST",
      "path": "1"
    },
    "4480": {
      "offset": [
        3346,
        3358
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x0"
    },
    "4482": {
      "offset": [
        3346,
        3362
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4483": {
      "fn": "Address.isContract",
      "offset": [
        3346,
        3362
      ],
      "op": "SLOAD",
      "path": "1"
    },
    "4484": {
      "op": "PUSH1",
      "value": "0xFF"
    },
    "4486": {
      "op": "NOT"
    },
    "4487": {
      "offset": [
        3346,
        3362
      ],
      "op": "AND",
      "path": "1"
    },
    "4488": {
      "offset": [
        3361,
        3362
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x1"
    },
    "4490": {
      "offset": [
        3346,
        3362
      ],
      "op": "OR",
      "path": "1"
    },
    "4491": {
      "fn": "Address.isContract",
      "offset": [
        3346,
        3362
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "4492": {
      "fn": "Address.isContract",
      "offset": [
        3346,
        3362
      ],
      "op": "SSTORE",
      "path": "1"
    },
    "4493": {
      "offset": [
        3372,
        3437
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4494": {
      "fn": "Address.isContract",
      "offset": [
        3372,
        3437
      ],
      "op": "ISZERO",
      "path": "1"
    },
    "4495": {
      "fn": "Address.isContract",
      "offset": [
        3372,
        3437
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x11A2"
    },
    "4498": {
      "fn": "Address.isContract",
      "offset": [
        3372,
        3437
      ],
      "op": "JUMPI",
      "path": "1"
    },
    "4499": {
      "offset": [
        3406,
        3419
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x0"
    },
    "4501": {
      "offset": [
        3406,
        3426
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4502": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "SLOAD",
      "path": "1"
    },
    "4503": {
      "op": "PUSH2",
      "value": "0xFF00"
    },
    "4506": {
      "op": "NOT"
    },
    "4507": {
      "offset": [
        3406,
        3426
      ],
      "op": "AND",
      "path": "1"
    },
    "4508": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x100"
    },
    "4511": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "OR",
      "path": "1"
    },
    "4512": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "4513": {
      "fn": "Address.isContract",
      "offset": [
        3406,
        3426
      ],
      "op": "SSTORE",
      "path": "1"
    },
    "4514": {
      "offset": [
        3372,
        3437
      ],
      "op": "JUMPDEST",
      "path": "1"
    },
    "4515": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1219
      ],
      "op": "PUSH1",
      "path": "22",
      "statement": 44,
      "value": "0x0"
    },
    "4517": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "DUP1",
      "path": "22"
    },
    "4518": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "4519": {
      "op": "PUSH3",
      "value": "0x10000"
    },
    "4523": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4525": {
      "op": "PUSH1",
      "value": "0xB0"
    },
    "4527": {
      "op": "SHL"
    },
    "4528": {
      "op": "SUB"
    },
    "4529": {
      "op": "NOT"
    },
    "4530": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "AND",
      "path": "22"
    },
    "4531": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "PUSH3",
      "path": "22",
      "value": "0x10000"
    },
    "4535": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4537": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4539": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4541": {
      "op": "SHL"
    },
    "4542": {
      "op": "SUB"
    },
    "4543": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "DUP6",
      "path": "22"
    },
    "4544": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "AND",
      "path": "22"
    },
    "4545": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "MUL",
      "path": "22"
    },
    "4546": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "OR",
      "path": "22"
    },
    "4547": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "4548": {
      "fn": "CoreController.initialize",
      "offset": [
        1210,
        1241
      ],
      "op": "SSTORE",
      "path": "22"
    },
    "4549": {
      "fn": "CoreController.initialize",
      "offset": [
        1255,
        1265
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x11CC"
    },
    "4552": {
      "fn": "CoreController._getName",
      "offset": [
        1431,
        1438
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "4554": {
      "fn": "CoreController._getName",
      "offset": [
        1381,
        1454
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "4555": {
      "fn": "CoreController._getName",
      "offset": [
        1381,
        1454
      ],
      "op": "JUMP",
      "path": "22"
    },
    "4556": {
      "fn": "CoreController.initialize",
      "offset": [
        1255,
        1265
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "4557": {
      "op": "PUSH6",
      "value": "0x416363657373"
    },
    "4564": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "4566": {
      "op": "SHL"
    },
    "4567": {
      "branch": 126,
      "fn": "CoreController.initialize",
      "offset": [
        1255,
        1277
      ],
      "op": "EQ",
      "path": "22"
    },
    "4568": {
      "fn": "CoreController.initialize",
      "offset": [
        1251,
        1332
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x120E"
    },
    "4571": {
      "branch": 126,
      "fn": "CoreController.initialize",
      "offset": [
        1251,
        1332
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "4572": {
      "fn": "CoreController.initialize",
      "offset": [
        1299,
        1328
      ],
      "op": "PUSH2",
      "path": "22",
      "statement": 45,
      "value": "0x11ED"
    },
    "4575": {
      "op": "PUSH6",
      "value": "0x416363657373"
    },
    "4582": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "4584": {
      "op": "SHL"
    },
    "4585": {
      "fn": "CoreController.initialize",
      "offset": [
        1299,
        1318
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x1460"
    },
    "4588": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1299,
        1328
      ],
      "op": "JUMP",
      "path": "22"
    },
    "4589": {
      "fn": "CoreController.initialize",
      "offset": [
        1299,
        1328
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "4590": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1288
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1"
    },
    "4592": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "DUP1",
      "path": "22"
    },
    "4593": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "4594": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4596": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4598": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4600": {
      "op": "SHL"
    },
    "4601": {
      "op": "SUB"
    },
    "4602": {
      "op": "NOT"
    },
    "4603": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "AND",
      "path": "22"
    },
    "4604": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4606": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4608": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4610": {
      "op": "SHL"
    },
    "4611": {
      "op": "SUB"
    },
    "4612": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP3",
      "path": "22"
    },
    "4613": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "4614": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP3",
      "path": "22"
    },
    "4615": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "AND",
      "path": "22"
    },
    "4616": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "4617": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "4618": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "4619": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "OR",
      "path": "22"
    },
    "4620": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "4621": {
      "fn": "CoreController.initialize",
      "offset": [
        1281,
        1329
      ],
      "op": "SSTORE",
      "path": "22"
    },
    "4622": {
      "fn": "CoreController.initialize",
      "offset": [
        1251,
        1332
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "4623": {
      "fn": "CoreController.initialize",
      "offset": [
        1350,
        1368
      ],
      "op": "PUSH2",
      "path": "22",
      "statement": 46,
      "value": "0x1216"
    },
    "4626": {
      "fn": "CoreController.initialize",
      "offset": [
        1350,
        1366
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x18FD"
    },
    "4629": {
      "fn": "CoreController.initialize",
      "jump": "i",
      "offset": [
        1350,
        1368
      ],
      "op": "JUMP",
      "path": "22"
    },
    "4630": {
      "fn": "CoreController.initialize",
      "offset": [
        1350,
        1368
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "4631": {
      "offset": [
        3461,
        3475
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4632": {
      "offset": [
        3457,
        3556
      ],
      "op": "ISZERO",
      "path": "1"
    },
    "4633": {
      "fn": "CoreController.initialize",
      "offset": [
        3457,
        3556
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x125C"
    },
    "4636": {
      "offset": [
        3457,
        3556
      ],
      "op": "JUMPI",
      "path": "1"
    },
    "4637": {
      "offset": [
        3507,
        3512
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x0"
    },
    "4639": {
      "offset": [
        3491,
        3512
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4640": {
      "fn": "CoreController.initialize",
      "offset": [
        3491,
        3512
      ],
      "op": "SLOAD",
      "path": "1"
    },
    "4641": {
      "op": "PUSH2",
      "value": "0xFF00"
    },
    "4644": {
      "op": "NOT"
    },
    "4645": {
      "offset": [
        3491,
        3512
      ],
      "op": "AND",
      "path": "1"
    },
    "4646": {
      "fn": "CoreController.initialize",
      "offset": [
        3491,
        3512
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "4647": {
      "fn": "CoreController.initialize",
      "offset": [
        3491,
        3512
      ],
      "op": "SSTORE",
      "path": "1"
    },
    "4648": {
      "offset": [
        3531,
        3545
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x40"
    },
    "4650": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "MLOAD",
      "path": "1"
    },
    "4651": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4653": {
      "op": "DUP2"
    },
    "4654": {
      "op": "MSTORE"
    },
    "4655": {
      "offset": [
        3531,
        3545
      ],
      "op": "PUSH32",
      "path": "1",
      "value": "0x7F26B83FF96E1F2B6A682F133852F6798A09C465DA95921460CEFB3847402498"
    },
    "4688": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "4689": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4691": {
      "op": "ADD"
    },
    "4692": {
      "offset": [
        3531,
        3545
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x40"
    },
    "4694": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "MLOAD",
      "path": "1"
    },
    "4695": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "DUP1",
      "path": "1"
    },
    "4696": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SWAP2",
      "path": "1"
    },
    "4697": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SUB",
      "path": "1"
    },
    "4698": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "4699": {
      "fn": "CoreController.initialize",
      "offset": [
        3531,
        3545
      ],
      "op": "LOG1",
      "path": "1"
    },
    "4700": {
      "offset": [
        3457,
        3556
      ],
      "op": "JUMPDEST",
      "path": "1"
    },
    "4701": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "POP",
      "path": "22"
    },
    "4702": {
      "fn": "CoreController.initialize",
      "offset": [
        1143,
        1375
      ],
      "op": "POP",
      "path": "22"
    },
    "4703": {
      "fn": "CoreController.initialize",
      "jump": "o",
      "offset": [
        1143,
        1375
      ],
      "op": "JUMP",
      "path": "22"
    },
    "4704": {
      "fn": "ComponentController.products",
      "offset": [
        8660,
        8759
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4705": {
      "fn": "ComponentController.products",
      "offset": [
        8701,
        8714
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4707": {
      "fn": "ComponentController.products",
      "offset": [
        8725,
        8756
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 47,
      "value": "0x90A"
    },
    "4710": {
      "fn": "ComponentController.products",
      "offset": [
        8746,
        8755
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "4712": {
      "fn": "ComponentController.products",
      "offset": [
        8725,
        8745
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18E7"
    },
    "4715": {
      "fn": "ComponentController.products",
      "jump": "i",
      "offset": [
        8725,
        8756
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4716": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6939,
        7472
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4717": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        6998,
        7036
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4719": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7053,
        7090
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1279"
    },
    "4722": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7076,
        7085
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "4724": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7087,
        7089
      ],
      "op": "DUP4",
      "path": "18"
    },
    "4725": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7053,
        7075
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1830"
    },
    "4728": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        7053,
        7090
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4729": {
      "branch": 102,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7053,
        7090
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4730": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7049,
        7465
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4731": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7049,
        7465
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1286"
    },
    "4734": {
      "branch": 102,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7049,
        7465
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4735": {
      "op": "POP"
    },
    "4736": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7114,
        7146
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 48,
      "value": "0x1"
    },
    "4738": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7107,
        7146
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "4741": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7107,
        7146
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4742": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7049,
        7465
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4743": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7168,
        7204
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1291"
    },
    "4746": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7191,
        7199
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x8"
    },
    "4748": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7201,
        7203
      ],
      "op": "DUP4",
      "path": "18"
    },
    "4749": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7168,
        7190
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1830"
    },
    "4752": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        7168,
        7204
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4753": {
      "branch": 103,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7168,
        7204
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4754": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7164,
        7465
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4755": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7164,
        7465
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x129E"
    },
    "4758": {
      "branch": 103,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7164,
        7465
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4759": {
      "op": "POP"
    },
    "4760": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7228,
        7259
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 49,
      "value": "0x0"
    },
    "4762": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7221,
        7259
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "4765": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7221,
        7259
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4766": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7164,
        7465
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4767": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7281,
        7319
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x12A9"
    },
    "4770": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7304,
        7314
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xA"
    },
    "4772": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7316,
        7318
      ],
      "op": "DUP4",
      "path": "18"
    },
    "4773": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7281,
        7303
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1830"
    },
    "4776": {
      "fn": "ComponentController.getComponentType",
      "jump": "i",
      "offset": [
        7281,
        7319
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4777": {
      "branch": 104,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7281,
        7319
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4778": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7277,
        7465
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "4779": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7277,
        7465
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x12B6"
    },
    "4782": {
      "branch": 104,
      "fn": "ComponentController.getComponentType",
      "offset": [
        7277,
        7465
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4783": {
      "op": "POP"
    },
    "4784": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7343,
        7376
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 50,
      "value": "0x2"
    },
    "4786": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7336,
        7376
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "4789": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7336,
        7376
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4790": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7277,
        7465
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4791": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 51,
      "value": "0x40"
    },
    "4793": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4794": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4798": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4800": {
      "op": "SHL"
    },
    "4801": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4802": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4803": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4805": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "4807": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "DUP3",
      "path": "18"
    },
    "4808": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "ADD",
      "path": "18"
    },
    "4809": {
      "op": "MSTORE"
    },
    "4810": {
      "op": "PUSH1",
      "value": "0x22"
    },
    "4812": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "4814": {
      "op": "DUP3"
    },
    "4815": {
      "op": "ADD"
    },
    "4816": {
      "op": "MSTORE"
    },
    "4817": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030383A494E56414C49445F434F4D504F4E454E545F"
    },
    "4850": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "4852": {
      "op": "DUP3"
    },
    "4853": {
      "op": "ADD"
    },
    "4854": {
      "op": "MSTORE"
    },
    "4855": {
      "op": "PUSH2",
      "value": "0x1251"
    },
    "4858": {
      "op": "PUSH1",
      "value": "0xF2"
    },
    "4860": {
      "op": "SHL"
    },
    "4861": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "4863": {
      "op": "DUP3"
    },
    "4864": {
      "op": "ADD"
    },
    "4865": {
      "op": "MSTORE"
    },
    "4866": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "4868": {
      "op": "ADD"
    },
    "4869": {
      "fn": "ComponentController.getComponentType",
      "offset": [
        7409,
        7453
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "4872": {
      "op": "JUMP"
    },
    "4873": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9322,
        9548
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4874": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9385,
        9404
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "4876": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9425,
        9445
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 52,
      "value": "0x1314"
    },
    "4879": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9435,
        9444
      ],
      "op": "DUP3",
      "path": "18"
    },
    "4880": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9425,
        9434
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x9DA"
    },
    "4883": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "i",
      "offset": [
        9425,
        9445
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4884": {
      "branch": 105,
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9425,
        9445
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4885": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1360"
    },
    "4888": {
      "branch": 105,
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "4889": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4891": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "4892": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4896": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4898": {
      "op": "SHL"
    },
    "4899": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4900": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4901": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4903": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "4905": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "DUP3",
      "path": "18"
    },
    "4906": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "ADD",
      "path": "18"
    },
    "4907": {
      "op": "DUP2"
    },
    "4908": {
      "op": "SWAP1"
    },
    "4909": {
      "op": "MSTORE"
    },
    "4910": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "4912": {
      "op": "DUP3"
    },
    "4913": {
      "op": "ADD"
    },
    "4914": {
      "op": "MSTORE"
    },
    "4915": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3031313A554E4B4E4F574E5F50524F445543545F4944"
    },
    "4948": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "4950": {
      "op": "DUP3"
    },
    "4951": {
      "op": "ADD"
    },
    "4952": {
      "op": "MSTORE"
    },
    "4953": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "4955": {
      "op": "ADD"
    },
    "4956": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "4959": {
      "op": "JUMP"
    },
    "4960": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9417,
        9482
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4961": {
      "op": "POP"
    },
    "4962": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 53,
      "value": "0x0"
    },
    "4964": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4965": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "DUP2",
      "path": "18"
    },
    "4966": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4967": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9529
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xD"
    },
    "4969": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "4971": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "4972": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "4974": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4975": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "4976": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "4977": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4979": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4981": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4983": {
      "op": "SHL"
    },
    "4984": {
      "op": "SUB"
    },
    "4985": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "AND",
      "path": "18"
    },
    "4986": {
      "fn": "ComponentController.getPolicyFlow",
      "offset": [
        9507,
        9540
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "4987": {
      "fn": "ComponentController.getPolicyFlow",
      "jump": "o",
      "offset": [
        9322,
        9548
      ],
      "op": "JUMP",
      "path": "18"
    },
    "4988": {
      "fn": "ComponentController.unpause",
      "offset": [
        5314,
        5656
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "4989": {
      "offset": [
        1305,
        1349
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x139D"
    },
    "4992": {
      "op": "PUSH21",
      "value": "0x436F6D706F6E656E744F776E657253657276696365"
    },
    "5014": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "5016": {
      "op": "SHL"
    },
    "5017": {
      "offset": [
        1305,
        1324
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1460"
    },
    "5020": {
      "jump": "i",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5021": {
      "fn": "ComponentController.unpause",
      "offset": [
        1305,
        1349
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5022": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5024": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5026": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5028": {
      "op": "SHL"
    },
    "5029": {
      "op": "SUB"
    },
    "5030": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "5031": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "11"
    },
    "5032": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5034": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5036": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5038": {
      "op": "SHL"
    },
    "5039": {
      "op": "SUB"
    },
    "5040": {
      "offset": [
        1289,
        1349
      ],
      "op": "AND",
      "path": "18"
    },
    "5041": {
      "branch": 106,
      "fn": "Context._msgSender",
      "offset": [
        1289,
        1349
      ],
      "op": "EQ",
      "path": "18"
    },
    "5042": {
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x13CD"
    },
    "5045": {
      "branch": 106,
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5046": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5048": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5049": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "5053": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "5055": {
      "op": "SHL"
    },
    "5056": {
      "offset": [
        1267,
        1408
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5057": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5058": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "5060": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "ADD",
      "path": "18"
    },
    "5061": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "5064": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5065": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x20EF"
    },
    "5068": {
      "fn": "Context._msgSender",
      "jump": "i",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5069": {
      "fn": "Context._msgSender",
      "offset": [
        1267,
        1408
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5070": {
      "fn": "ComponentController.unpause",
      "offset": [
        5415,
        5465
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 54,
      "value": "0x13D8"
    },
    "5073": {
      "fn": "ComponentController.unpause",
      "offset": [
        5428,
        5430
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5074": {
      "fn": "ComponentController.unpause",
      "offset": [
        5432,
        5464
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x3"
    },
    "5076": {
      "fn": "ComponentController.unpause",
      "offset": [
        5415,
        5427
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "5079": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5415,
        5465
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5080": {
      "fn": "ComponentController.unpause",
      "offset": [
        5415,
        5465
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5081": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 55,
      "value": "0x40"
    },
    "5083": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5084": {
      "op": "DUP2"
    },
    "5085": {
      "op": "DUP2"
    },
    "5086": {
      "op": "MSTORE"
    },
    "5087": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "PUSH32",
      "path": "18",
      "value": "0x8E78CA4CC29C505D9901FD1582BA8584083396CE204151EDDD3E008749A24FE0"
    },
    "5120": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5121": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5123": {
      "op": "ADD"
    },
    "5124": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5126": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5127": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5128": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5129": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "SUB",
      "path": "18"
    },
    "5130": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5131": {
      "fn": "ComponentController.unpause",
      "offset": [
        5481,
        5505
      ],
      "op": "LOG1",
      "path": "18"
    },
    "5132": {
      "fn": "ComponentController.unpause",
      "offset": [
        5571,
        5591
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5134": {
      "fn": "ComponentController.unpause",
      "offset": [
        5594,
        5610
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1416"
    },
    "5137": {
      "fn": "ComponentController.unpause",
      "offset": [
        5607,
        5609
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5138": {
      "fn": "ComponentController.unpause",
      "offset": [
        5594,
        5606
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0xB99"
    },
    "5141": {
      "fn": "ComponentController.unpause",
      "jump": "i",
      "offset": [
        5594,
        5610
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5142": {
      "fn": "ComponentController.unpause",
      "offset": [
        5594,
        5610
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5143": {
      "fn": "ComponentController.unpause",
      "offset": [
        5571,
        5610
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5144": {
      "fn": "ComponentController.unpause",
      "offset": [
        5571,
        5610
      ],
      "op": "POP",
      "path": "18"
    },
    "5145": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5630
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 56
    },
    "5146": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5148": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5150": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5152": {
      "op": "SHL"
    },
    "5153": {
      "op": "SUB"
    },
    "5154": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5646
      ],
      "op": "AND",
      "path": "18"
    },
    "5155": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5646
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x59DACC6A"
    },
    "5160": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5162": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5163": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5164": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "5169": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "AND",
      "path": "18"
    },
    "5170": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "5172": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "SHL",
      "path": "18"
    },
    "5173": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5174": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5175": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "5177": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "ADD",
      "path": "18"
    },
    "5178": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5180": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5182": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5183": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5184": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5185": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "SUB",
      "path": "18"
    },
    "5186": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5187": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5189": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP8",
      "path": "18"
    },
    "5190": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5191": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "5192": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5193": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5194": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5195": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x71D"
    },
    "5198": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5199": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5201": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5202": {
      "fn": "ComponentController.unpause",
      "offset": [
        5621,
        5648
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5203": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7773,
        7909
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5204": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7830,
        7848
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5206": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7868,
        7901
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 57,
      "value": "0x746"
    },
    "5209": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7885,
        7895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xA"
    },
    "5211": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7897,
        7900
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5212": {
      "fn": "ComponentController.getRiskpoolId",
      "offset": [
        7868,
        7884
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18F1"
    },
    "5215": {
      "fn": "ComponentController.getRiskpoolId",
      "jump": "i",
      "offset": [
        7868,
        7901
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5216": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1530,
        1823
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "5217": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1604,
        1627
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "5219": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "DUP1",
      "path": "22",
      "statement": 58
    },
    "5220": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "5221": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "5223": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "5224": {
      "op": "PUSH4",
      "value": "0x1C2D8FB3"
    },
    "5229": {
      "op": "PUSH1",
      "value": "0xE3"
    },
    "5231": {
      "op": "SHL"
    },
    "5232": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "22"
    },
    "5233": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "5234": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "5236": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "22"
    },
    "5237": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "22"
    },
    "5238": {
      "op": "DUP5"
    },
    "5239": {
      "op": "SWAP1"
    },
    "5240": {
      "op": "MSTORE"
    },
    "5241": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "PUSH3",
      "path": "22",
      "value": "0x10000"
    },
    "5245": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "5246": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "5247": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "DIV",
      "path": "22"
    },
    "5248": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5250": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5252": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5254": {
      "op": "SHL"
    },
    "5255": {
      "op": "SUB"
    },
    "5256": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "AND",
      "path": "22"
    },
    "5257": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1667
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "5258": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1679
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0xE16C7D98"
    },
    "5263": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1679
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "5264": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "5266": {
      "op": "ADD"
    },
    "5267": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x20"
    },
    "5269": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "5271": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "5272": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "22"
    },
    "5273": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP4",
      "path": "22"
    },
    "5274": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SUB",
      "path": "22"
    },
    "5275": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "22"
    },
    "5276": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP7",
      "path": "22"
    },
    "5277": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "22"
    },
    "5278": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "EXTCODESIZE",
      "path": "22"
    },
    "5279": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "5280": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "22"
    },
    "5281": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "5282": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x14AA"
    },
    "5285": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "5286": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "5288": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "22"
    },
    "5289": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "REVERT",
      "path": "22"
    },
    "5290": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "5291": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "22"
    },
    "5292": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "GAS",
      "path": "22"
    },
    "5293": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "STATICCALL",
      "path": "22"
    },
    "5294": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "5295": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "22"
    },
    "5296": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "5297": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x14BE"
    },
    "5300": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "5301": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "5302": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "5304": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "22"
    },
    "5305": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATACOPY",
      "path": "22"
    },
    "5306": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "5307": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "5309": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "REVERT",
      "path": "22"
    },
    "5310": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "5311": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "22"
    },
    "5312": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "22"
    },
    "5313": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "22"
    },
    "5314": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "22"
    },
    "5315": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "5317": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "5318": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "5319": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "5321": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "NOT",
      "path": "22"
    },
    "5322": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "5324": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP3",
      "path": "22"
    },
    "5325": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "22"
    },
    "5326": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "AND",
      "path": "22"
    },
    "5327": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP3",
      "path": "22"
    },
    "5328": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "22"
    },
    "5329": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP1",
      "path": "22"
    },
    "5330": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "5332": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "5333": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "POP",
      "path": "22"
    },
    "5334": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "DUP2",
      "path": "22"
    },
    "5335": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "ADD",
      "path": "22"
    },
    "5336": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "5337": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x14E2"
    },
    "5340": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "5341": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "5342": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x1F91"
    },
    "5345": {
      "fn": "CoreController._getContractAddress",
      "jump": "i",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMP",
      "path": "22"
    },
    "5346": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1658,
        1693
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "5347": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1640,
        1693
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "5348": {
      "op": "POP"
    },
    "5349": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5351": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5353": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5355": {
      "op": "SHL"
    },
    "5356": {
      "op": "SUB"
    },
    "5357": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1724,
        1753
      ],
      "op": "DUP2",
      "path": "22",
      "statement": 59
    },
    "5358": {
      "branch": 127,
      "fn": "CoreController._getContractAddress",
      "offset": [
        1724,
        1753
      ],
      "op": "AND",
      "path": "22"
    },
    "5359": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x749"
    },
    "5362": {
      "branch": 127,
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "5363": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "5365": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "5366": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "5370": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "5372": {
      "op": "SHL"
    },
    "5373": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "DUP2",
      "path": "22"
    },
    "5374": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "5375": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5377": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "5379": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "DUP3",
      "path": "22"
    },
    "5380": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "ADD",
      "path": "22"
    },
    "5381": {
      "op": "MSTORE"
    },
    "5382": {
      "op": "PUSH1",
      "value": "0x25"
    },
    "5384": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "5386": {
      "op": "DUP3"
    },
    "5387": {
      "op": "ADD"
    },
    "5388": {
      "op": "MSTORE"
    },
    "5389": {
      "op": "PUSH32",
      "value": "0x4552524F523A4352432D3030343A434F4E54524143545F4E4F545F5245474953"
    },
    "5422": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "5424": {
      "op": "DUP3"
    },
    "5425": {
      "op": "ADD"
    },
    "5426": {
      "op": "MSTORE"
    },
    "5427": {
      "op": "PUSH5",
      "value": "0x1511549151"
    },
    "5433": {
      "op": "PUSH1",
      "value": "0xDA"
    },
    "5435": {
      "op": "SHL"
    },
    "5436": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "5438": {
      "op": "DUP3"
    },
    "5439": {
      "op": "ADD"
    },
    "5440": {
      "op": "MSTORE"
    },
    "5441": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "5443": {
      "op": "ADD"
    },
    "5444": {
      "fn": "CoreController._getContractAddress",
      "offset": [
        1703,
        1816
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x453"
    },
    "5447": {
      "op": "JUMP"
    },
    "5448": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2433,
        3239
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5449": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2597
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 60,
      "value": "0xC"
    },
    "5451": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5452": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "5453": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2518,
        2528
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5455": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2518,
        2528
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5456": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2518,
        2528
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5457": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1559"
    },
    "5460": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5461": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2161"
    },
    "5464": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2582,
        2599
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5465": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5466": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5467": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5468": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "POP",
      "path": "18"
    },
    "5469": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "SSTORE",
      "path": "18"
    },
    "5470": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2582,
        2599
      ],
      "op": "POP",
      "path": "18"
    },
    "5471": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2615,
        2630
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 61,
      "value": "0xC"
    },
    "5473": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2615,
        2630
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "5474": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2610,
        2630
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5475": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2610,
        2630
      ],
      "op": "POP",
      "path": "18"
    },
    "5476": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2678,
        2730
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 62,
      "value": "0x156E"
    },
    "5479": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2691,
        2693
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5480": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2695,
        2729
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1"
    },
    "5482": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2678,
        2690
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x184D"
    },
    "5485": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2678,
        2730
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5486": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2678,
        2730
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5487": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 63,
      "value": "0x40"
    },
    "5489": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5490": {
      "op": "PUSH4",
      "value": "0xD0E0BA95"
    },
    "5495": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "5497": {
      "op": "SHL"
    },
    "5498": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5499": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5500": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "5502": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5503": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "ADD",
      "path": "18"
    },
    "5504": {
      "op": "DUP3"
    },
    "5505": {
      "op": "SWAP1"
    },
    "5506": {
      "op": "MSTORE"
    },
    "5507": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5509": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5511": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5513": {
      "op": "SHL"
    },
    "5514": {
      "op": "SUB"
    },
    "5515": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2756
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5516": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2756
      ],
      "op": "AND",
      "path": "18"
    },
    "5517": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2756
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5518": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2756
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xD0E0BA95"
    },
    "5523": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2756
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5524": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "5526": {
      "op": "ADD"
    },
    "5527": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5529": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5531": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5532": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5533": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5534": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "SUB",
      "path": "18"
    },
    "5535": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5536": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5538": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP8",
      "path": "18"
    },
    "5539": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5540": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "5541": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5542": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5543": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5544": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x15B0"
    },
    "5547": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5548": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5550": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5551": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5552": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5553": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "POP",
      "path": "18"
    },
    "5554": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "GAS",
      "path": "18"
    },
    "5555": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "CALL",
      "path": "18"
    },
    "5556": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5557": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5558": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5559": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x15C4"
    },
    "5562": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5563": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5564": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5566": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5567": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "5568": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5569": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5571": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5572": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2741,
        2760
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5573": {
      "op": "POP"
    },
    "5574": {
      "op": "POP"
    },
    "5575": {
      "op": "POP"
    },
    "5576": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 64,
      "value": "0x0"
    },
    "5578": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5579": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5580": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5581": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2830
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "5583": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "5585": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5586": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5587": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5588": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5590": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5591": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5592": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "5593": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5594": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "5595": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5597": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5599": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5601": {
      "op": "SHL"
    },
    "5602": {
      "op": "SUB"
    },
    "5603": {
      "op": "NOT"
    },
    "5604": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "AND",
      "path": "18"
    },
    "5605": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5607": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5609": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5611": {
      "op": "SHL"
    },
    "5612": {
      "op": "SUB"
    },
    "5613": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "DUP9",
      "path": "18"
    },
    "5614": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "AND",
      "path": "18"
    },
    "5615": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5616": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5617": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "OR",
      "path": "18"
    },
    "5618": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5619": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5620": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "SSTORE",
      "path": "18"
    },
    "5621": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP2",
      "path": "18",
      "statement": 65
    },
    "5622": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5623": {
      "op": "PUSH4",
      "value": "0x5F5F79F"
    },
    "5628": {
      "op": "PUSH1",
      "value": "0xE2"
    },
    "5630": {
      "op": "SHL"
    },
    "5631": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5632": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5633": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5634": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5635": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "DUP7",
      "path": "18"
    },
    "5636": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "SWAP6",
      "path": "18"
    },
    "5637": {
      "op": "POP"
    },
    "5638": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2875
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x3"
    },
    "5640": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2875
      ],
      "op": "SWAP5",
      "path": "18"
    },
    "5641": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "SWAP4",
      "path": "18"
    },
    "5642": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5643": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "SWAP3",
      "path": "18"
    },
    "5644": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2893
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x17D7DE7C"
    },
    "5649": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2893
      ],
      "op": "SWAP3",
      "path": "18"
    },
    "5650": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "5652": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5653": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5654": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ADD",
      "path": "18"
    },
    "5655": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "SWAP4",
      "path": "18"
    },
    "5656": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5657": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2834
      ],
      "op": "SWAP3",
      "path": "18"
    },
    "5658": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5659": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5660": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "SUB",
      "path": "18"
    },
    "5661": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ADD",
      "path": "18"
    },
    "5662": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5663": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2816,
        2846
      ],
      "op": "DUP7",
      "path": "18"
    },
    "5664": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5665": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "5666": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5667": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5668": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5669": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x162D"
    },
    "5672": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5673": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5675": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5676": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5677": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5678": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "POP",
      "path": "18"
    },
    "5679": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "GAS",
      "path": "18"
    },
    "5680": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "5681": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5682": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5683": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5684": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1641"
    },
    "5687": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5688": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5689": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5691": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5692": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "5693": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5694": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5696": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5697": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5698": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "POP",
      "path": "18"
    },
    "5699": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "POP",
      "path": "18"
    },
    "5700": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "POP",
      "path": "18"
    },
    "5701": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "POP",
      "path": "18"
    },
    "5702": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5704": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5705": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5706": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "5708": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "NOT",
      "path": "18"
    },
    "5709": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "5711": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5712": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ADD",
      "path": "18"
    },
    "5713": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "AND",
      "path": "18"
    },
    "5714": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5715": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ADD",
      "path": "18"
    },
    "5716": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5717": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5719": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5720": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "POP",
      "path": "18"
    },
    "5721": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5722": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "ADD",
      "path": "18"
    },
    "5723": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5724": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1665"
    },
    "5727": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5728": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5729": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FCD"
    },
    "5732": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        2876,
        2895
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5733": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2876,
        2895
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5734": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5735": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5736": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "5738": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "ADD",
      "path": "18"
    },
    "5739": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5740": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5741": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5742": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "5744": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "ADD",
      "path": "18"
    },
    "5745": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5747": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2896
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "5748": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2901
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5749": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2901
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5750": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2901
      ],
      "op": "SSTORE",
      "path": "18"
    },
    "5751": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2857,
        2901
      ],
      "op": "POP",
      "path": "18"
    },
    "5752": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2956,
        2958
      ],
      "op": "DUP1",
      "path": "18",
      "statement": 66
    },
    "5753": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2933
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "5755": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5757": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2942,
        2951
      ],
      "op": "DUP5",
      "path": "18"
    },
    "5758": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5760": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5762": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5764": {
      "op": "SHL"
    },
    "5765": {
      "op": "SUB"
    },
    "5766": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "AND",
      "path": "18"
    },
    "5767": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5769": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5771": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5773": {
      "op": "SHL"
    },
    "5774": {
      "op": "SUB"
    },
    "5775": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "AND",
      "path": "18"
    },
    "5776": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5777": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5778": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "5780": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "ADD",
      "path": "18"
    },
    "5781": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5782": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5783": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5784": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "5786": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "ADD",
      "path": "18"
    },
    "5787": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5789": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2953
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "5790": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2958
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5791": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2958
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5792": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2958
      ],
      "op": "SSTORE",
      "path": "18"
    },
    "5793": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2912,
        2958
      ],
      "op": "POP",
      "path": "18"
    },
    "5794": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3023
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5795": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5797": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5799": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5801": {
      "op": "SHL"
    },
    "5802": {
      "op": "SUB"
    },
    "5803": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3033
      ],
      "op": "AND",
      "path": "18"
    },
    "5804": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3033
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xE0815F0D"
    },
    "5809": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5811": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5812": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5813": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "5818": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "AND",
      "path": "18"
    },
    "5819": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "5821": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "SHL",
      "path": "18"
    },
    "5822": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5823": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5824": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "5826": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ADD",
      "path": "18"
    },
    "5827": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "5829": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5831": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5832": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5833": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5834": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "SUB",
      "path": "18"
    },
    "5835": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5836": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP7",
      "path": "18"
    },
    "5837": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5838": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "5839": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5840": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5841": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5842": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x16DA"
    },
    "5845": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5846": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5848": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5849": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5850": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5851": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "POP",
      "path": "18"
    },
    "5852": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "GAS",
      "path": "18"
    },
    "5853": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "5854": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5855": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5856": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5857": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x16EE"
    },
    "5860": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5861": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5862": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5864": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5865": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "5866": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5867": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5869": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5870": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5871": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "POP",
      "path": "18"
    },
    "5872": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "POP",
      "path": "18"
    },
    "5873": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "POP",
      "path": "18"
    },
    "5874": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "POP",
      "path": "18"
    },
    "5875": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5877": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5878": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5879": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "5881": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "NOT",
      "path": "18"
    },
    "5882": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "5884": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5885": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ADD",
      "path": "18"
    },
    "5886": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "AND",
      "path": "18"
    },
    "5887": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5888": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ADD",
      "path": "18"
    },
    "5889": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5890": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5892": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5893": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "POP",
      "path": "18"
    },
    "5894": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5895": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "ADD",
      "path": "18"
    },
    "5896": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5897": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1712"
    },
    "5900": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "5901": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "5902": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FAD"
    },
    "5905": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3014,
        3035
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5906": {
      "branch": 107,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3014,
        3035
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5907": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3010,
        3232
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5908": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3010,
        3232
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1728"
    },
    "5911": {
      "branch": 107,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3010,
        3232
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5912": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3039,
        3071
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 67,
      "value": "0x1722"
    },
    "5915": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3057,
        3066
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "5917": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3068,
        3070
      ],
      "op": "DUP3",
      "path": "18"
    },
    "5918": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3039,
        3056
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x196A"
    },
    "5921": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3039,
        3071
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5922": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3039,
        3071
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5923": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3039,
        3071
      ],
      "op": "POP",
      "path": "18"
    },
    "5924": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3010,
        3232
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "5927": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3010,
        3232
      ],
      "op": "JUMP",
      "path": "18"
    },
    "5928": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3010,
        3232
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5929": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3102
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5930": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5932": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5934": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5936": {
      "op": "SHL"
    },
    "5937": {
      "op": "SUB"
    },
    "5938": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3111
      ],
      "op": "AND",
      "path": "18"
    },
    "5939": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3111
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x9A82F890"
    },
    "5944": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5946": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5947": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5948": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "5953": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "AND",
      "path": "18"
    },
    "5954": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "5956": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "SHL",
      "path": "18"
    },
    "5957": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5958": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "5959": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "5961": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ADD",
      "path": "18"
    },
    "5962": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "5964": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "5966": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "5967": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5968": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP4",
      "path": "18"
    },
    "5969": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "SUB",
      "path": "18"
    },
    "5970": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP2",
      "path": "18"
    },
    "5971": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP7",
      "path": "18"
    },
    "5972": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5973": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "5974": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5975": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5976": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5977": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1761"
    },
    "5980": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5981": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5983": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5984": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "REVERT",
      "path": "18"
    },
    "5985": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "5986": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "POP",
      "path": "18"
    },
    "5987": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "GAS",
      "path": "18"
    },
    "5988": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "5989": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5990": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP1",
      "path": "18"
    },
    "5991": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "5992": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1775"
    },
    "5995": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "5996": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "5997": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "5999": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6000": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "6001": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "6002": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6004": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6005": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6006": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "POP",
      "path": "18"
    },
    "6007": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "POP",
      "path": "18"
    },
    "6008": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "POP",
      "path": "18"
    },
    "6009": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "POP",
      "path": "18"
    },
    "6010": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6012": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6013": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "6014": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "6016": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "NOT",
      "path": "18"
    },
    "6017": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "6019": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6020": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ADD",
      "path": "18"
    },
    "6021": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "AND",
      "path": "18"
    },
    "6022": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6023": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ADD",
      "path": "18"
    },
    "6024": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6025": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6027": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6028": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "POP",
      "path": "18"
    },
    "6029": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6030": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "ADD",
      "path": "18"
    },
    "6031": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6032": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1799"
    },
    "6035": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "6036": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6037": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FAD"
    },
    "6040": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3093,
        3113
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6041": {
      "branch": 108,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3093,
        3113
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6042": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3089,
        3232
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6043": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3089,
        3232
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x17A9"
    },
    "6046": {
      "branch": 108,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3089,
        3232
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6047": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3117,
        3148
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 68,
      "value": "0x1722"
    },
    "6050": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3135,
        3143
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x8"
    },
    "6052": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3145,
        3147
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6053": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3117,
        3134
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x196A"
    },
    "6056": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3117,
        3148
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6057": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3089,
        3232
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6058": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3179
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6059": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6061": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6063": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6065": {
      "op": "SHL"
    },
    "6066": {
      "op": "SUB"
    },
    "6067": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3190
      ],
      "op": "AND",
      "path": "18"
    },
    "6068": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3190
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0x258D560C"
    },
    "6073": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6075": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6076": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6077": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH4",
      "path": "18",
      "value": "0xFFFFFFFF"
    },
    "6082": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "AND",
      "path": "18"
    },
    "6083": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xE0"
    },
    "6085": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "SHL",
      "path": "18"
    },
    "6086": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6087": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6088": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6090": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ADD",
      "path": "18"
    },
    "6091": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "6093": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6095": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6096": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6097": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP4",
      "path": "18"
    },
    "6098": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "SUB",
      "path": "18"
    },
    "6099": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6100": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP7",
      "path": "18"
    },
    "6101": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6102": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "EXTCODESIZE",
      "path": "18"
    },
    "6103": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6104": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6105": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6106": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x17E2"
    },
    "6109": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6110": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6112": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6113": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6114": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6115": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "POP",
      "path": "18"
    },
    "6116": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "GAS",
      "path": "18"
    },
    "6117": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "STATICCALL",
      "path": "18"
    },
    "6118": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6119": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6120": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6121": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x17F6"
    },
    "6124": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6125": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "6126": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6128": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6129": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "RETURNDATACOPY",
      "path": "18"
    },
    "6130": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "6131": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6133": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6134": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6135": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "POP",
      "path": "18"
    },
    "6136": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "POP",
      "path": "18"
    },
    "6137": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "POP",
      "path": "18"
    },
    "6138": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "POP",
      "path": "18"
    },
    "6139": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6141": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6142": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "RETURNDATASIZE",
      "path": "18"
    },
    "6143": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "6145": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "NOT",
      "path": "18"
    },
    "6146": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1F"
    },
    "6148": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6149": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ADD",
      "path": "18"
    },
    "6150": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "AND",
      "path": "18"
    },
    "6151": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6152": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ADD",
      "path": "18"
    },
    "6153": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6154": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6156": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6157": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "POP",
      "path": "18"
    },
    "6158": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6159": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "ADD",
      "path": "18"
    },
    "6160": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6161": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x181A"
    },
    "6164": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "6165": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6166": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1FAD"
    },
    "6169": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3170,
        3192
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6170": {
      "branch": 109,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3170,
        3192
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6171": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3166,
        3232
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6172": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3166,
        3232
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x749"
    },
    "6175": {
      "branch": 109,
      "fn": "ComponentController._persistComponent",
      "offset": [
        3166,
        3232
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6176": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3196,
        3229
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 69,
      "value": "0x182A"
    },
    "6179": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3214,
        3224
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xA"
    },
    "6181": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3226,
        3228
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6182": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3196,
        3213
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x196A"
    },
    "6185": {
      "fn": "ComponentController._persistComponent",
      "jump": "i",
      "offset": [
        3196,
        3229
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6186": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3196,
        3229
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6187": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        3196,
        3229
      ],
      "op": "POP",
      "path": "18"
    },
    "6188": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2433,
        3239
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "6189": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2433,
        3239
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6190": {
      "fn": "ComponentController._persistComponent",
      "offset": [
        2433,
        3239
      ],
      "op": "POP",
      "path": "18"
    },
    "6191": {
      "fn": "ComponentController._persistComponent",
      "jump": "o",
      "offset": [
        2433,
        3239
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6192": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "6193": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11106,
        11110
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "6195": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "16",
      "statement": 70
    },
    "6196": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "16"
    },
    "6197": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "6198": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x1"
    },
    "6200": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "DUP4",
      "path": "16"
    },
    "6201": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "ADD",
      "path": "16"
    },
    "6202": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x20"
    },
    "6204": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "6205": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x40"
    },
    "6207": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "16"
    },
    "6208": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "KECCAK256",
      "path": "16"
    },
    "6209": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "SLOAD",
      "path": "16"
    },
    "6210": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4274
      ],
      "op": "ISZERO",
      "path": "16"
    },
    "6211": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4274
      ],
      "op": "ISZERO",
      "path": "16"
    },
    "6212": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11129,
        11166
      ],
      "op": "JUMPDEST",
      "path": "16",
      "statement": 71
    },
    "6213": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11122,
        11166
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "6214": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11122,
        11166
      ],
      "op": "POP",
      "path": "16"
    },
    "6215": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "6216": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "SWAP3",
      "path": "16"
    },
    "6217": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "SWAP2",
      "path": "16"
    },
    "6218": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "POP",
      "path": "16"
    },
    "6219": {
      "fn": "EnumerableSet.contains",
      "offset": [
        11029,
        11173
      ],
      "op": "POP",
      "path": "16"
    },
    "6220": {
      "fn": "EnumerableSet.contains",
      "jump": "o",
      "offset": [
        11029,
        11173
      ],
      "op": "JUMP",
      "path": "16"
    },
    "6221": {
      "fn": "ComponentController._changeState",
      "offset": [
        9556,
        9967
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6222": {
      "fn": "ComponentController._changeState",
      "offset": [
        9655,
        9689
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6224": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6225": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6226": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6227": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9707
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x5"
    },
    "6229": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "6231": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6232": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6234": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6235": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "6236": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "6237": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0xFF"
    },
    "6239": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "AND",
      "path": "18"
    },
    "6240": {
      "fn": "ComponentController._changeState",
      "offset": [
        9733,
        9774
      ],
      "op": "PUSH2",
      "path": "18",
      "statement": 72,
      "value": "0x1869"
    },
    "6243": {
      "fn": "ComponentController._changeState",
      "offset": [
        9692,
        9720
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6244": {
      "fn": "ComponentController._changeState",
      "offset": [
        9765,
        9773
      ],
      "op": "DUP4",
      "path": "18"
    },
    "6245": {
      "fn": "ComponentController._changeState",
      "offset": [
        9733,
        9754
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1976"
    },
    "6248": {
      "fn": "ComponentController._changeState",
      "jump": "i",
      "offset": [
        9733,
        9774
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6249": {
      "fn": "ComponentController._changeState",
      "offset": [
        9733,
        9774
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6250": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 73,
      "value": "0x0"
    },
    "6252": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "DUP4",
      "path": "18"
    },
    "6253": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6254": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6255": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9800
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x5"
    },
    "6257": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x20"
    },
    "6259": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6260": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6262": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6263": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "KECCAK256",
      "path": "18"
    },
    "6264": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6265": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "SLOAD",
      "path": "18"
    },
    "6266": {
      "fn": "ComponentController._changeState",
      "offset": [
        9816,
        9824
      ],
      "op": "DUP4",
      "path": "18"
    },
    "6267": {
      "fn": "ComponentController._changeState",
      "offset": [
        9816,
        9824
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "6268": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9813
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6269": {
      "op": "PUSH1",
      "value": "0xFF"
    },
    "6271": {
      "op": "NOT"
    },
    "6272": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "AND",
      "path": "18"
    },
    "6273": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1"
    },
    "6275": {
      "fn": "ComponentController._changeState",
      "offset": [
        9816,
        9824
      ],
      "op": "DUP4",
      "path": "18"
    },
    "6276": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6278": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6279": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "GT",
      "path": "18"
    },
    "6280": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6281": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18A2"
    },
    "6284": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6285": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6290": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6292": {
      "op": "SHL"
    },
    "6293": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6295": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6296": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6298": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6300": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6301": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6303": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6305": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6306": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6307": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "MUL",
      "path": "18"
    },
    "6308": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "OR",
      "path": "18"
    },
    "6309": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6310": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "SSTORE",
      "path": "18"
    },
    "6311": {
      "fn": "ComponentController._changeState",
      "offset": [
        9785,
        9824
      ],
      "op": "POP",
      "path": "18"
    },
    "6312": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "PUSH32",
      "path": "18",
      "statement": 74,
      "value": "0xD2248D3E400F6333D5DE6D43446115557CB942E75002AA7AD26F9CAC9B105B1A"
    },
    "6345": {
      "fn": "ComponentController._changeState",
      "offset": [
        9927,
        9938
      ],
      "op": "DUP4",
      "path": "18"
    },
    "6346": {
      "fn": "ComponentController._changeState",
      "offset": [
        9940,
        9948
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6347": {
      "fn": "ComponentController._changeState",
      "offset": [
        9950,
        9958
      ],
      "op": "DUP5",
      "path": "18"
    },
    "6348": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6350": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6351": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x18DA"
    },
    "6354": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "SWAP4",
      "path": "18"
    },
    "6355": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "SWAP3",
      "path": "18"
    },
    "6356": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "6357": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6358": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x2138"
    },
    "6361": {
      "fn": "ComponentController._changeState",
      "jump": "i",
      "offset": [
        9902,
        9959
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6362": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6363": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6365": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6366": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6367": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "SWAP2",
      "path": "18"
    },
    "6368": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "SUB",
      "path": "18"
    },
    "6369": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "SWAP1",
      "path": "18"
    },
    "6370": {
      "fn": "ComponentController._changeState",
      "offset": [
        9902,
        9959
      ],
      "op": "LOG1",
      "path": "18"
    },
    "6371": {
      "fn": "ComponentController._changeState",
      "offset": [
        9556,
        9967
      ],
      "op": "POP",
      "path": "18"
    },
    "6372": {
      "fn": "ComponentController._changeState",
      "offset": [
        9556,
        9967
      ],
      "op": "POP",
      "path": "18"
    },
    "6373": {
      "fn": "ComponentController._changeState",
      "offset": [
        9556,
        9967
      ],
      "op": "POP",
      "path": "18"
    },
    "6374": {
      "fn": "ComponentController._changeState",
      "jump": "o",
      "offset": [
        9556,
        9967
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6375": {
      "fn": "EnumerableSet.length",
      "offset": [
        11254,
        11366
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "6376": {
      "fn": "EnumerableSet.length",
      "offset": [
        11314,
        11321
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "6378": {
      "fn": "EnumerableSet.length",
      "offset": [
        11340,
        11359
      ],
      "op": "PUSH2",
      "path": "16",
      "statement": 75,
      "value": "0x746"
    },
    "6381": {
      "fn": "EnumerableSet.length",
      "offset": [
        11348,
        11351
      ],
      "op": "DUP3",
      "path": "16"
    },
    "6382": {
      "fn": "EnumerableSet._length",
      "offset": [
        4444,
        4462
      ],
      "op": "SLOAD",
      "path": "16",
      "statement": 76
    },
    "6383": {
      "fn": "EnumerableSet._length",
      "offset": [
        4444,
        4462
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "6384": {
      "fn": "EnumerableSet._length",
      "offset": [
        4362,
        4469
      ],
      "op": "JUMP",
      "path": "16"
    },
    "6385": {
      "fn": "EnumerableSet.at",
      "offset": [
        11708,
        11843
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "6386": {
      "fn": "EnumerableSet.at",
      "offset": [
        11779,
        11786
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "6388": {
      "fn": "EnumerableSet.at",
      "offset": [
        11813,
        11835
      ],
      "op": "PUSH2",
      "path": "16",
      "statement": 77,
      "value": "0x1844"
    },
    "6391": {
      "fn": "EnumerableSet.at",
      "offset": [
        11817,
        11820
      ],
      "op": "DUP4",
      "path": "16"
    },
    "6392": {
      "fn": "EnumerableSet.at",
      "offset": [
        11829,
        11834
      ],
      "op": "DUP4",
      "path": "16"
    },
    "6393": {
      "fn": "EnumerableSet.at",
      "offset": [
        11813,
        11816
      ],
      "op": "PUSH2",
      "path": "16",
      "value": "0x1EE7"
    },
    "6396": {
      "fn": "EnumerableSet.at",
      "jump": "i",
      "offset": [
        11813,
        11835
      ],
      "op": "JUMP",
      "path": "16"
    },
    "6397": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        1460,
        1524
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "6398": {
      "offset": [
        4888,
        4901
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x0"
    },
    "6400": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "SLOAD",
      "path": "1"
    },
    "6401": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x100"
    },
    "6404": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "SWAP1",
      "path": "1"
    },
    "6405": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "DIV",
      "path": "1"
    },
    "6406": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0xFF"
    },
    "6408": {
      "branch": 128,
      "fn": "CoreController._afterInitialize",
      "offset": [
        4888,
        4901
      ],
      "op": "AND",
      "path": "1"
    },
    "6409": {
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x1968"
    },
    "6412": {
      "branch": 128,
      "offset": [
        4880,
        4949
      ],
      "op": "JUMPI",
      "path": "1"
    },
    "6413": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x40"
    },
    "6415": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "MLOAD",
      "path": "1"
    },
    "6416": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6420": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6422": {
      "op": "SHL"
    },
    "6423": {
      "offset": [
        4880,
        4949
      ],
      "op": "DUP2",
      "path": "1"
    },
    "6424": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "MSTORE",
      "path": "1"
    },
    "6425": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6427": {
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH1",
      "path": "1",
      "value": "0x4"
    },
    "6429": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "DUP3",
      "path": "1"
    },
    "6430": {
      "fn": "CoreController._afterInitialize",
      "offset": [
        4880,
        4949
      ],
      "op": "ADD",
      "path": "1"
    },
    "6431": {
      "op": "MSTORE"
    },
    "6432": {
      "op": "PUSH1",
      "value": "0x2B"
    },
    "6434": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "6436": {
      "op": "DUP3"
    },
    "6437": {
      "op": "ADD"
    },
    "6438": {
      "op": "MSTORE"
    },
    "6439": {
      "op": "PUSH32",
      "value": "0x496E697469616C697A61626C653A20636F6E7472616374206973206E6F742069"
    },
    "6472": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "6474": {
      "op": "DUP3"
    },
    "6475": {
      "op": "ADD"
    },
    "6476": {
      "op": "MSTORE"
    },
    "6477": {
      "op": "PUSH11",
      "value": "0x6E697469616C697A696E67"
    },
    "6489": {
      "op": "PUSH1",
      "value": "0xA8"
    },
    "6491": {
      "op": "SHL"
    },
    "6492": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "6494": {
      "op": "DUP3"
    },
    "6495": {
      "op": "ADD"
    },
    "6496": {
      "op": "MSTORE"
    },
    "6497": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "6499": {
      "op": "ADD"
    },
    "6500": {
      "offset": [
        4880,
        4949
      ],
      "op": "PUSH2",
      "path": "1",
      "value": "0x453"
    },
    "6503": {
      "op": "JUMP"
    },
    "6504": {
      "offset": [
        4880,
        4949
      ],
      "op": "JUMPDEST",
      "path": "1"
    },
    "6505": {
      "fn": "CoreController._afterInitialize",
      "jump": "o",
      "offset": [
        1460,
        1524
      ],
      "op": "JUMP",
      "path": "22"
    },
    "6506": {
      "fn": "EnumerableSet.add",
      "offset": [
        10516,
        10645
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "6507": {
      "fn": "EnumerableSet.add",
      "offset": [
        10583,
        10587
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "6509": {
      "fn": "EnumerableSet.add",
      "offset": [
        10606,
        10638
      ],
      "op": "PUSH2",
      "path": "16",
      "statement": 78,
      "value": "0x1844"
    },
    "6512": {
      "fn": "EnumerableSet.add",
      "offset": [
        10611,
        10614
      ],
      "op": "DUP4",
      "path": "16"
    },
    "6513": {
      "fn": "EnumerableSet.add",
      "offset": [
        10631,
        10636
      ],
      "op": "DUP4",
      "path": "16"
    },
    "6514": {
      "fn": "EnumerableSet.add",
      "offset": [
        10606,
        10610
      ],
      "op": "PUSH2",
      "path": "16",
      "value": "0x1F1F"
    },
    "6517": {
      "fn": "EnumerableSet.add",
      "jump": "i",
      "offset": [
        10606,
        10638
      ],
      "op": "JUMP",
      "path": "16"
    },
    "6518": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        9975,
        11754
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6519": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10175,
        10183
      ],
      "op": "DUP2",
      "path": "18",
      "statement": 79
    },
    "6520": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6522": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6523": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "GT",
      "path": "18"
    },
    "6524": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6525": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1996"
    },
    "6528": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6529": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6534": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6536": {
      "op": "SHL"
    },
    "6537": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6539": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6540": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6542": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6544": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6545": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6547": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6549": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6550": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6551": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10171
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6552": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6554": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6555": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "GT",
      "path": "18"
    },
    "6556": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6557": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x19B6"
    },
    "6560": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6561": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6566": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6568": {
      "op": "SHL"
    },
    "6569": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6571": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6572": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6574": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6576": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6577": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6579": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6581": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6582": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6583": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "EQ",
      "path": "18"
    },
    "6584": {
      "branch": 110,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10163,
        10183
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6585": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A1C"
    },
    "6588": {
      "branch": 110,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6589": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6591": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6592": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6596": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6598": {
      "op": "SHL"
    },
    "6599": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6600": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6601": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6603": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6605": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6606": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "ADD",
      "path": "18"
    },
    "6607": {
      "op": "MSTORE"
    },
    "6608": {
      "op": "PUSH1",
      "value": "0x2F"
    },
    "6610": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "6612": {
      "op": "DUP3"
    },
    "6613": {
      "op": "ADD"
    },
    "6614": {
      "op": "MSTORE"
    },
    "6615": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032303A534F555243455F414E445F5441524745545F"
    },
    "6648": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "6650": {
      "op": "DUP3"
    },
    "6651": {
      "op": "ADD"
    },
    "6652": {
      "op": "MSTORE"
    },
    "6653": {
      "op": "PUSH15",
      "value": "0x14D510551157D2511153951250D053"
    },
    "6669": {
      "op": "PUSH1",
      "value": "0x8A"
    },
    "6671": {
      "op": "SHL"
    },
    "6672": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "6674": {
      "op": "DUP3"
    },
    "6675": {
      "op": "ADD"
    },
    "6676": {
      "op": "MSTORE"
    },
    "6677": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "6679": {
      "op": "ADD"
    },
    "6680": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "6683": {
      "op": "JUMP"
    },
    "6684": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10155,
        10249
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6685": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10286,
        10319
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6687": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10282
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6688": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6690": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6691": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "GT",
      "path": "18"
    },
    "6692": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6693": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A3E"
    },
    "6696": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6697": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6702": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6704": {
      "op": "SHL"
    },
    "6705": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6707": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6708": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6710": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6712": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6713": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6715": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6717": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6718": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6719": {
      "branch": 111,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10274,
        10319
      ],
      "op": "EQ",
      "path": "18"
    },
    "6720": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10270,
        11747
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6721": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10270,
        11747
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AC9"
    },
    "6724": {
      "branch": 111,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10270,
        11747
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6725": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10356,
        10390
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 80,
      "value": "0x1"
    },
    "6727": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10352
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6728": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6730": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6731": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "GT",
      "path": "18"
    },
    "6732": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6733": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1A66"
    },
    "6736": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6737": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6742": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6744": {
      "op": "SHL"
    },
    "6745": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6747": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6748": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6750": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6752": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6753": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6755": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6757": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6758": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6759": {
      "branch": 112,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10344,
        10390
      ],
      "op": "EQ",
      "path": "18"
    },
    "6760": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AC4"
    },
    "6763": {
      "branch": 112,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6764": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6766": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6767": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6771": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6773": {
      "op": "SHL"
    },
    "6774": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6775": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6776": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6778": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6780": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6781": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "ADD",
      "path": "18"
    },
    "6782": {
      "op": "MSTORE"
    },
    "6783": {
      "op": "PUSH1",
      "value": "0x28"
    },
    "6785": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "6787": {
      "op": "DUP3"
    },
    "6788": {
      "op": "ADD"
    },
    "6789": {
      "op": "MSTORE"
    },
    "6790": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032313A435245415445445F494E56414C49445F5452"
    },
    "6823": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "6825": {
      "op": "DUP3"
    },
    "6826": {
      "op": "ADD"
    },
    "6827": {
      "op": "MSTORE"
    },
    "6828": {
      "op": "PUSH8",
      "value": "0x20A729A4AA24A7A7"
    },
    "6837": {
      "op": "PUSH1",
      "value": "0xC1"
    },
    "6839": {
      "op": "SHL"
    },
    "6840": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "6842": {
      "op": "DUP3"
    },
    "6843": {
      "op": "ADD"
    },
    "6844": {
      "op": "MSTORE"
    },
    "6845": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "6847": {
      "op": "ADD"
    },
    "6848": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "6851": {
      "op": "JUMP"
    },
    "6852": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10336,
        10453
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6853": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10270,
        11747
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x125C"
    },
    "6856": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10270,
        11747
      ],
      "op": "JUMP",
      "path": "18"
    },
    "6857": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10270,
        11747
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6858": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10487,
        10521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x1"
    },
    "6860": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10483
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6861": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6863": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6864": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "GT",
      "path": "18"
    },
    "6865": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6866": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AEB"
    },
    "6869": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6870": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6875": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6877": {
      "op": "SHL"
    },
    "6878": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6880": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6881": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6883": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6885": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6886": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6888": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6890": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6891": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6892": {
      "branch": 113,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10475,
        10521
      ],
      "op": "EQ",
      "path": "18"
    },
    "6893": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10471,
        11747
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6894": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10471,
        11747
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1B9B"
    },
    "6897": {
      "branch": 113,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10471,
        11747
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6898": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10558,
        10590
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 81,
      "value": "0x3"
    },
    "6900": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10554
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6901": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6903": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6904": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "GT",
      "path": "18"
    },
    "6905": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6906": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1B13"
    },
    "6909": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6910": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6915": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6917": {
      "op": "SHL"
    },
    "6918": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6920": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6921": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6923": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6925": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6926": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6928": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6930": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6931": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6932": {
      "branch": 114,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10590
      ],
      "op": "EQ",
      "path": "18"
    },
    "6933": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10658
      ],
      "op": "DUP1",
      "path": "18"
    },
    "6934": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10658
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1B3E"
    },
    "6937": {
      "branch": 114,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10658
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6938": {
      "op": "POP"
    },
    "6939": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10624,
        10658
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "6941": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10620
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6942": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "6944": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6945": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "GT",
      "path": "18"
    },
    "6946": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "6947": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1B3C"
    },
    "6950": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6951": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "6956": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "6958": {
      "op": "SHL"
    },
    "6959": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6961": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6962": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "6964": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6966": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6967": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "6969": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "6971": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "REVERT",
      "path": "18"
    },
    "6972": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6973": {
      "branch": 115,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10612,
        10658
      ],
      "op": "EQ",
      "path": "18"
    },
    "6974": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10546,
        10658
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "6975": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AC4"
    },
    "6978": {
      "branch": 115,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "6979": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "6981": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "6982": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6986": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6988": {
      "op": "SHL"
    },
    "6989": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "DUP2",
      "path": "18"
    },
    "6990": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "6991": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6993": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "6995": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "DUP3",
      "path": "18"
    },
    "6996": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "ADD",
      "path": "18"
    },
    "6997": {
      "op": "MSTORE"
    },
    "6998": {
      "op": "PUSH1",
      "value": "0x28"
    },
    "7000": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7002": {
      "op": "DUP3"
    },
    "7003": {
      "op": "ADD"
    },
    "7004": {
      "op": "MSTORE"
    },
    "7005": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D32323A50524F504F5345445F494E56414C49445F5452"
    },
    "7038": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7040": {
      "op": "DUP3"
    },
    "7041": {
      "op": "ADD"
    },
    "7042": {
      "op": "MSTORE"
    },
    "7043": {
      "op": "PUSH8",
      "value": "0x20A729A4AA24A7A7"
    },
    "7052": {
      "op": "PUSH1",
      "value": "0xC1"
    },
    "7054": {
      "op": "SHL"
    },
    "7055": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7057": {
      "op": "DUP3"
    },
    "7058": {
      "op": "ADD"
    },
    "7059": {
      "op": "MSTORE"
    },
    "7060": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7062": {
      "op": "ADD"
    },
    "7063": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10538,
        10721
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "7066": {
      "op": "JUMP"
    },
    "7067": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10471,
        11747
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7068": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10755,
        10789
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x2"
    },
    "7070": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10751
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7071": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7073": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7074": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "GT",
      "path": "18"
    },
    "7075": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7076": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1BBD"
    },
    "7079": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7080": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7085": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7087": {
      "op": "SHL"
    },
    "7088": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7090": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7091": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7093": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7095": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7096": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7098": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7100": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7101": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7102": {
      "branch": 116,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10743,
        10789
      ],
      "op": "EQ",
      "path": "18"
    },
    "7103": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10739,
        11747
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7104": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10739,
        11747
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C19"
    },
    "7107": {
      "branch": 116,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10739,
        11747
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7108": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 82,
      "value": "0x40"
    },
    "7110": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "7111": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7115": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7117": {
      "op": "SHL"
    },
    "7118": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7119": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7120": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7122": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7124": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7125": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "ADD",
      "path": "18"
    },
    "7126": {
      "op": "MSTORE"
    },
    "7127": {
      "op": "PUSH1",
      "value": "0x25"
    },
    "7129": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7131": {
      "op": "DUP3"
    },
    "7132": {
      "op": "ADD"
    },
    "7133": {
      "op": "MSTORE"
    },
    "7134": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032333A4445434C494E45445F49535F46494E414C5F"
    },
    "7167": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7169": {
      "op": "DUP3"
    },
    "7170": {
      "op": "ADD"
    },
    "7171": {
      "op": "MSTORE"
    },
    "7172": {
      "op": "PUSH5",
      "value": "0x5354415445"
    },
    "7178": {
      "op": "PUSH1",
      "value": "0xD8"
    },
    "7180": {
      "op": "SHL"
    },
    "7181": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7183": {
      "op": "DUP3"
    },
    "7184": {
      "op": "ADD"
    },
    "7185": {
      "op": "MSTORE"
    },
    "7186": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7188": {
      "op": "ADD"
    },
    "7189": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10806,
        10853
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "7192": {
      "op": "JUMP"
    },
    "7193": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10739,
        11747
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7194": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10887,
        10919
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x3"
    },
    "7196": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10883
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7197": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7199": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7200": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "GT",
      "path": "18"
    },
    "7201": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7202": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C3B"
    },
    "7205": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7206": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7211": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7213": {
      "op": "SHL"
    },
    "7214": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7216": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7217": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7219": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7221": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7222": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7224": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7226": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7227": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7228": {
      "branch": 117,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10875,
        10919
      ],
      "op": "EQ",
      "path": "18"
    },
    "7229": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10871,
        11747
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7230": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10871,
        11747
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1CEA"
    },
    "7233": {
      "branch": 117,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10871,
        11747
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7234": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10956,
        10988
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 83,
      "value": "0x4"
    },
    "7236": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10952
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7237": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7239": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7240": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "GT",
      "path": "18"
    },
    "7241": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7242": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C63"
    },
    "7245": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7246": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7251": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7253": {
      "op": "SHL"
    },
    "7254": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7256": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7257": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7259": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7261": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7262": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7264": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7266": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7267": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7268": {
      "branch": 118,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        10988
      ],
      "op": "EQ",
      "path": "18"
    },
    "7269": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        11057
      ],
      "op": "DUP1",
      "path": "18"
    },
    "7270": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        11057
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C8E"
    },
    "7273": {
      "branch": 118,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        11057
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7274": {
      "op": "POP"
    },
    "7275": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11022,
        11057
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x5"
    },
    "7277": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11018
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7278": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7280": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7281": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "GT",
      "path": "18"
    },
    "7282": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7283": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1C8C"
    },
    "7286": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7287": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7292": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7294": {
      "op": "SHL"
    },
    "7295": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7297": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7298": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7300": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7302": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7303": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7305": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7307": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7308": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7309": {
      "branch": 119,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11010,
        11057
      ],
      "op": "EQ",
      "path": "18"
    },
    "7310": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10944,
        11057
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7311": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AC4"
    },
    "7314": {
      "branch": 119,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7315": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "7317": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "7318": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7322": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7324": {
      "op": "SHL"
    },
    "7325": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7326": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7327": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7329": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7331": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7332": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "ADD",
      "path": "18"
    },
    "7333": {
      "op": "MSTORE"
    },
    "7334": {
      "op": "PUSH1",
      "value": "0x27"
    },
    "7336": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7338": {
      "op": "DUP3"
    },
    "7339": {
      "op": "ADD"
    },
    "7340": {
      "op": "MSTORE"
    },
    "7341": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032343A4143544956455F494E56414C49445F545241"
    },
    "7374": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7376": {
      "op": "DUP3"
    },
    "7377": {
      "op": "ADD"
    },
    "7378": {
      "op": "MSTORE"
    },
    "7379": {
      "op": "PUSH7",
      "value": "0x2729A4AA24A7A7"
    },
    "7387": {
      "op": "PUSH1",
      "value": "0xC9"
    },
    "7389": {
      "op": "SHL"
    },
    "7390": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7392": {
      "op": "DUP3"
    },
    "7393": {
      "op": "ADD"
    },
    "7394": {
      "op": "MSTORE"
    },
    "7395": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7397": {
      "op": "ADD"
    },
    "7398": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10936,
        11119
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "7401": {
      "op": "JUMP"
    },
    "7402": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        10871,
        11747
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7403": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11153,
        11185
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7405": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11149
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7406": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7408": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7409": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "GT",
      "path": "18"
    },
    "7410": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7411": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D0C"
    },
    "7414": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7415": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7420": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7422": {
      "op": "SHL"
    },
    "7423": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7425": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7426": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7428": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7430": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7431": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7433": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7435": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7436": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7437": {
      "branch": 120,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11141,
        11185
      ],
      "op": "EQ",
      "path": "18"
    },
    "7438": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11137,
        11747
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7439": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11137,
        11747
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1DBB"
    },
    "7442": {
      "branch": 120,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11137,
        11747
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7443": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11222,
        11254
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 84,
      "value": "0x3"
    },
    "7445": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11218
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7446": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7448": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7449": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "GT",
      "path": "18"
    },
    "7450": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7451": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D34"
    },
    "7454": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7455": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7460": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7462": {
      "op": "SHL"
    },
    "7463": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7465": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7466": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7468": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7470": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7471": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7473": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7475": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7476": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7477": {
      "branch": 121,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11254
      ],
      "op": "EQ",
      "path": "18"
    },
    "7478": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11321
      ],
      "op": "DUP1",
      "path": "18"
    },
    "7479": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11321
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D5F"
    },
    "7482": {
      "branch": 121,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11321
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7483": {
      "op": "POP"
    },
    "7484": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11287,
        11321
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7486": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11283
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7487": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7489": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7490": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "GT",
      "path": "18"
    },
    "7491": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7492": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1D5D"
    },
    "7495": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7496": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7501": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7503": {
      "op": "SHL"
    },
    "7504": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7506": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7507": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7509": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7511": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7512": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7514": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7516": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7517": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7518": {
      "branch": 122,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11275,
        11321
      ],
      "op": "EQ",
      "path": "18"
    },
    "7519": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11210,
        11321
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7520": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AC4"
    },
    "7523": {
      "branch": 122,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7524": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "7526": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "7527": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7531": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7533": {
      "op": "SHL"
    },
    "7534": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7535": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7536": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7538": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7540": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7541": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "ADD",
      "path": "18"
    },
    "7542": {
      "op": "MSTORE"
    },
    "7543": {
      "op": "PUSH1",
      "value": "0x27"
    },
    "7545": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7547": {
      "op": "DUP3"
    },
    "7548": {
      "op": "ADD"
    },
    "7549": {
      "op": "MSTORE"
    },
    "7550": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032353A5041555345445F494E56414C49445F545241"
    },
    "7583": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7585": {
      "op": "DUP3"
    },
    "7586": {
      "op": "ADD"
    },
    "7587": {
      "op": "MSTORE"
    },
    "7588": {
      "op": "PUSH7",
      "value": "0x2729A4AA24A7A7"
    },
    "7596": {
      "op": "PUSH1",
      "value": "0xC9"
    },
    "7598": {
      "op": "SHL"
    },
    "7599": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7601": {
      "op": "DUP3"
    },
    "7602": {
      "op": "ADD"
    },
    "7603": {
      "op": "MSTORE"
    },
    "7604": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7606": {
      "op": "ADD"
    },
    "7607": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11202,
        11383
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "7610": {
      "op": "JUMP"
    },
    "7611": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11137,
        11747
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7612": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11417,
        11452
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x5"
    },
    "7614": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11413
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7615": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7617": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7618": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "GT",
      "path": "18"
    },
    "7619": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7620": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1DDD"
    },
    "7623": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7624": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7629": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7631": {
      "op": "SHL"
    },
    "7632": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7634": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7635": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7637": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7639": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7640": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7642": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7644": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7645": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7646": {
      "branch": 123,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11405,
        11452
      ],
      "op": "EQ",
      "path": "18"
    },
    "7647": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11401,
        11747
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7648": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11401,
        11747
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E8F"
    },
    "7651": {
      "branch": 123,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11401,
        11747
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7652": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11489,
        11521
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 85,
      "value": "0x3"
    },
    "7654": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11485
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7655": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7657": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7658": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "GT",
      "path": "18"
    },
    "7659": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7660": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E05"
    },
    "7663": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7664": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7669": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7671": {
      "op": "SHL"
    },
    "7672": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7674": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7675": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7677": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7679": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7680": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7682": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7684": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7685": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7686": {
      "branch": 124,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11521
      ],
      "op": "EQ",
      "path": "18"
    },
    "7687": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11588
      ],
      "op": "DUP1",
      "path": "18"
    },
    "7688": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11588
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E30"
    },
    "7691": {
      "branch": 124,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11588
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7692": {
      "op": "POP"
    },
    "7693": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11554,
        11588
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7695": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11550
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7696": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x6"
    },
    "7698": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7699": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "GT",
      "path": "18"
    },
    "7700": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "ISZERO",
      "path": "18"
    },
    "7701": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1E2E"
    },
    "7704": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7705": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7710": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7712": {
      "op": "SHL"
    },
    "7713": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7715": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7716": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x21"
    },
    "7718": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7720": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7721": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x24"
    },
    "7723": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x0"
    },
    "7725": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "REVERT",
      "path": "18"
    },
    "7726": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7727": {
      "branch": 125,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11542,
        11588
      ],
      "op": "EQ",
      "path": "18"
    },
    "7728": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11477,
        11588
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7729": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x1AC4"
    },
    "7732": {
      "branch": 125,
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "JUMPI",
      "path": "18"
    },
    "7733": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x40"
    },
    "7735": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "7736": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7740": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7742": {
      "op": "SHL"
    },
    "7743": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7744": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7745": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7747": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7749": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7750": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "ADD",
      "path": "18"
    },
    "7751": {
      "op": "MSTORE"
    },
    "7752": {
      "op": "PUSH1",
      "value": "0x2A"
    },
    "7754": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7756": {
      "op": "DUP3"
    },
    "7757": {
      "op": "ADD"
    },
    "7758": {
      "op": "MSTORE"
    },
    "7759": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032363A53555350454E4445445F494E56414C49445F"
    },
    "7792": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7794": {
      "op": "DUP3"
    },
    "7795": {
      "op": "ADD"
    },
    "7796": {
      "op": "MSTORE"
    },
    "7797": {
      "op": "PUSH10",
      "value": "0x2A2920A729A4AA24A7A7"
    },
    "7808": {
      "op": "PUSH1",
      "value": "0xB1"
    },
    "7810": {
      "op": "SHL"
    },
    "7811": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7813": {
      "op": "DUP3"
    },
    "7814": {
      "op": "ADD"
    },
    "7815": {
      "op": "MSTORE"
    },
    "7816": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7818": {
      "op": "ADD"
    },
    "7819": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11469,
        11653
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "7822": {
      "op": "JUMP"
    },
    "7823": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11401,
        11747
      ],
      "op": "JUMPDEST",
      "path": "18"
    },
    "7824": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "PUSH1",
      "path": "18",
      "statement": 86,
      "value": "0x40"
    },
    "7826": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "MLOAD",
      "path": "18"
    },
    "7827": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7831": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7833": {
      "op": "SHL"
    },
    "7834": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "DUP2",
      "path": "18"
    },
    "7835": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "MSTORE",
      "path": "18"
    },
    "7836": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7838": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "PUSH1",
      "path": "18",
      "value": "0x4"
    },
    "7840": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "DUP3",
      "path": "18"
    },
    "7841": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "ADD",
      "path": "18"
    },
    "7842": {
      "op": "MSTORE"
    },
    "7843": {
      "op": "PUSH1",
      "value": "0x27"
    },
    "7845": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "7847": {
      "op": "DUP3"
    },
    "7848": {
      "op": "ADD"
    },
    "7849": {
      "op": "MSTORE"
    },
    "7850": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3032373A494E495449414C5F53544154455F4E4F545F"
    },
    "7883": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "7885": {
      "op": "DUP3"
    },
    "7886": {
      "op": "ADD"
    },
    "7887": {
      "op": "MSTORE"
    },
    "7888": {
      "op": "PUSH7",
      "value": "0x12105391131151"
    },
    "7896": {
      "op": "PUSH1",
      "value": "0xCA"
    },
    "7898": {
      "op": "SHL"
    },
    "7899": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "7901": {
      "op": "DUP3"
    },
    "7902": {
      "op": "ADD"
    },
    "7903": {
      "op": "MSTORE"
    },
    "7904": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "7906": {
      "op": "ADD"
    },
    "7907": {
      "fn": "ComponentController._checkStateTransition",
      "offset": [
        11686,
        11735
      ],
      "op": "PUSH2",
      "path": "18",
      "value": "0x453"
    },
    "7910": {
      "op": "JUMP"
    },
    "7911": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "7912": {
      "fn": "EnumerableSet._at",
      "offset": [
        4878,
        4885
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "7914": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4907
      ],
      "op": "DUP3",
      "path": "16",
      "statement": 87
    },
    "7915": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4915
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "7917": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4915
      ],
      "op": "ADD",
      "path": "16"
    },
    "7918": {
      "fn": "EnumerableSet._at",
      "offset": [
        4916,
        4921
      ],
      "op": "DUP3",
      "path": "16"
    },
    "7919": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "DUP2",
      "path": "16"
    },
    "7920": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "SLOAD",
      "path": "16"
    },
    "7921": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "DUP2",
      "path": "16"
    },
    "7922": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "LT",
      "path": "16"
    },
    "7923": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH2",
      "path": "16",
      "value": "0x1F0C"
    },
    "7926": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "JUMPI",
      "path": "16"
    },
    "7927": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "7932": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "7934": {
      "op": "SHL"
    },
    "7935": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "7937": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "7938": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x32"
    },
    "7940": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x4"
    },
    "7942": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "7943": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x24"
    },
    "7945": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "7947": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "REVERT",
      "path": "16"
    },
    "7948": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "7949": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "7950": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "7952": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "7953": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x20"
    },
    "7955": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "7957": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "KECCAK256",
      "path": "16"
    },
    "7958": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "ADD",
      "path": "16"
    },
    "7959": {
      "fn": "EnumerableSet._at",
      "offset": [
        4904,
        4922
      ],
      "op": "SLOAD",
      "path": "16"
    },
    "7960": {
      "fn": "EnumerableSet._at",
      "offset": [
        4897,
        4922
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "7961": {
      "fn": "EnumerableSet._at",
      "offset": [
        4897,
        4922
      ],
      "op": "POP",
      "path": "16"
    },
    "7962": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "SWAP3",
      "path": "16"
    },
    "7963": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "SWAP2",
      "path": "16"
    },
    "7964": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "POP",
      "path": "16"
    },
    "7965": {
      "fn": "EnumerableSet._at",
      "offset": [
        4811,
        4929
      ],
      "op": "POP",
      "path": "16"
    },
    "7966": {
      "fn": "EnumerableSet._at",
      "jump": "o",
      "offset": [
        4811,
        4929
      ],
      "op": "JUMP",
      "path": "16"
    },
    "7967": {
      "fn": "EnumerableSet._add",
      "offset": [
        2113,
        2517
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "7968": {
      "fn": "EnumerableSet._add",
      "offset": [
        2176,
        2180
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "7970": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "16"
    },
    "7971": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "16"
    },
    "7972": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "7973": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x1"
    },
    "7975": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "DUP4",
      "path": "16"
    },
    "7976": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4262
      ],
      "op": "ADD",
      "path": "16"
    },
    "7977": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x20"
    },
    "7979": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "7980": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x40"
    },
    "7982": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "DUP2",
      "path": "16"
    },
    "7983": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "KECCAK256",
      "path": "16"
    },
    "7984": {
      "fn": "EnumerableSet._contains",
      "offset": [
        4250,
        4269
      ],
      "op": "SLOAD",
      "path": "16"
    },
    "7985": {
      "fn": "EnumerableSet._add",
      "offset": [
        2192,
        2511
      ],
      "op": "PUSH2",
      "path": "16",
      "value": "0x1F66"
    },
    "7988": {
      "fn": "EnumerableSet._add",
      "offset": [
        2192,
        2511
      ],
      "op": "JUMPI",
      "path": "16"
    },
    "7989": {
      "op": "POP"
    },
    "7990": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "16",
      "statement": 88
    },
    "7991": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SLOAD",
      "path": "16"
    },
    "7992": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x1"
    },
    "7994": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "16"
    },
    "7995": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "16"
    },
    "7996": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "ADD",
      "path": "16"
    },
    "7997": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP5",
      "path": "16"
    },
    "7998": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SSTORE",
      "path": "16"
    },
    "7999": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2245
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x0"
    },
    "8001": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP5",
      "path": "16"
    },
    "8002": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP2",
      "path": "16"
    },
    "8003": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "8004": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x20"
    },
    "8006": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP1",
      "path": "16"
    },
    "8007": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP3",
      "path": "16"
    },
    "8008": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "KECCAK256",
      "path": "16"
    },
    "8009": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "8010": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SWAP4",
      "path": "16"
    },
    "8011": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "ADD",
      "path": "16"
    },
    "8012": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "DUP5",
      "path": "16"
    },
    "8013": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "8014": {
      "fn": "EnumerableSet._add",
      "offset": [
        2234,
        2257
      ],
      "op": "SSTORE",
      "path": "16"
    },
    "8015": {
      "fn": "EnumerableSet._add",
      "offset": [
        2414,
        2432
      ],
      "op": "DUP5",
      "path": "16",
      "statement": 89
    },
    "8016": {
      "fn": "EnumerableSet._add",
      "offset": [
        2414,
        2432
      ],
      "op": "SLOAD",
      "path": "16"
    },
    "8017": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "DUP5",
      "path": "16"
    },
    "8018": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "DUP3",
      "path": "16"
    },
    "8019": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "8020": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2404
      ],
      "op": "DUP3",
      "path": "16"
    },
    "8021": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2404
      ],
      "op": "DUP7",
      "path": "16"
    },
    "8022": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2404
      ],
      "op": "ADD",
      "path": "16"
    },
    "8023": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "8024": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "SWAP4",
      "path": "16"
    },
    "8025": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "MSTORE",
      "path": "16"
    },
    "8026": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "PUSH1",
      "path": "16",
      "value": "0x40"
    },
    "8028": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "8029": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2411
      ],
      "op": "KECCAK256",
      "path": "16"
    },
    "8030": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SWAP2",
      "path": "16"
    },
    "8031": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SWAP1",
      "path": "16"
    },
    "8032": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SWAP2",
      "path": "16"
    },
    "8033": {
      "fn": "EnumerableSet._add",
      "offset": [
        2392,
        2432
      ],
      "op": "SSTORE",
      "path": "16"
    },
    "8034": {
      "fn": "EnumerableSet._add",
      "offset": [
        2446,
        2457
      ],
      "op": "PUSH2",
      "path": "16",
      "statement": 90,
      "value": "0x1847"
    },
    "8037": {
      "fn": "EnumerableSet._add",
      "offset": [
        2446,
        2457
      ],
      "op": "JUMP",
      "path": "16"
    },
    "8038": {
      "fn": "EnumerableSet._add",
      "offset": [
        2192,
        2511
      ],
      "op": "JUMPDEST",
      "path": "16"
    },
    "8039": {
      "op": "POP"
    },
    "8040": {
      "fn": "EnumerableSet._add",
      "offset": [
        2495,
        2500
      ],
      "op": "PUSH1",
      "path": "16",
      "statement": 91,
      "value": "0x0"
    },
    "8042": {
      "fn": "EnumerableSet._add",
      "offset": [
        2488,
        2500
      ],
      "op": "PUSH2",
      "path": "16",
      "value": "0x1847"
    },
    "8045": {
      "fn": "EnumerableSet._add",
      "offset": [
        2488,
        2500
      ],
      "op": "JUMP",
      "path": "16"
    },
    "8046": {
      "op": "JUMPDEST"
    },
    "8047": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8049": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8051": {
      "op": "DUP3"
    },
    "8052": {
      "op": "DUP5"
    },
    "8053": {
      "op": "SUB"
    },
    "8054": {
      "op": "SLT"
    },
    "8055": {
      "op": "ISZERO"
    },
    "8056": {
      "op": "PUSH2",
      "value": "0x1F7F"
    },
    "8059": {
      "op": "JUMPI"
    },
    "8060": {
      "op": "DUP1"
    },
    "8061": {
      "op": "DUP2"
    },
    "8062": {
      "op": "REVERT"
    },
    "8063": {
      "op": "JUMPDEST"
    },
    "8064": {
      "op": "DUP2"
    },
    "8065": {
      "op": "CALLDATALOAD"
    },
    "8066": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8069": {
      "op": "DUP2"
    },
    "8070": {
      "op": "PUSH2",
      "value": "0x219E"
    },
    "8073": {
      "jump": "i",
      "op": "JUMP"
    },
    "8074": {
      "op": "JUMPDEST"
    },
    "8075": {
      "op": "SWAP4"
    },
    "8076": {
      "op": "SWAP3"
    },
    "8077": {
      "op": "POP"
    },
    "8078": {
      "op": "POP"
    },
    "8079": {
      "op": "POP"
    },
    "8080": {
      "jump": "o",
      "op": "JUMP"
    },
    "8081": {
      "op": "JUMPDEST"
    },
    "8082": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8084": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8086": {
      "op": "DUP3"
    },
    "8087": {
      "op": "DUP5"
    },
    "8088": {
      "op": "SUB"
    },
    "8089": {
      "op": "SLT"
    },
    "8090": {
      "op": "ISZERO"
    },
    "8091": {
      "op": "PUSH2",
      "value": "0x1FA2"
    },
    "8094": {
      "op": "JUMPI"
    },
    "8095": {
      "op": "DUP1"
    },
    "8096": {
      "op": "DUP2"
    },
    "8097": {
      "op": "REVERT"
    },
    "8098": {
      "op": "JUMPDEST"
    },
    "8099": {
      "op": "DUP2"
    },
    "8100": {
      "op": "MLOAD"
    },
    "8101": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8104": {
      "op": "DUP2"
    },
    "8105": {
      "op": "PUSH2",
      "value": "0x219E"
    },
    "8108": {
      "jump": "i",
      "op": "JUMP"
    },
    "8109": {
      "op": "JUMPDEST"
    },
    "8110": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8112": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8114": {
      "op": "DUP3"
    },
    "8115": {
      "op": "DUP5"
    },
    "8116": {
      "op": "SUB"
    },
    "8117": {
      "op": "SLT"
    },
    "8118": {
      "op": "ISZERO"
    },
    "8119": {
      "op": "PUSH2",
      "value": "0x1FBE"
    },
    "8122": {
      "op": "JUMPI"
    },
    "8123": {
      "op": "DUP1"
    },
    "8124": {
      "op": "DUP2"
    },
    "8125": {
      "op": "REVERT"
    },
    "8126": {
      "op": "JUMPDEST"
    },
    "8127": {
      "op": "DUP2"
    },
    "8128": {
      "op": "MLOAD"
    },
    "8129": {
      "op": "DUP1"
    },
    "8130": {
      "op": "ISZERO"
    },
    "8131": {
      "op": "ISZERO"
    },
    "8132": {
      "op": "DUP2"
    },
    "8133": {
      "op": "EQ"
    },
    "8134": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8137": {
      "op": "JUMPI"
    },
    "8138": {
      "op": "DUP2"
    },
    "8139": {
      "op": "DUP3"
    },
    "8140": {
      "op": "REVERT"
    },
    "8141": {
      "op": "JUMPDEST"
    },
    "8142": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8144": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8146": {
      "op": "DUP3"
    },
    "8147": {
      "op": "DUP5"
    },
    "8148": {
      "op": "SUB"
    },
    "8149": {
      "op": "SLT"
    },
    "8150": {
      "op": "ISZERO"
    },
    "8151": {
      "op": "PUSH2",
      "value": "0x1FDE"
    },
    "8154": {
      "op": "JUMPI"
    },
    "8155": {
      "op": "DUP1"
    },
    "8156": {
      "op": "DUP2"
    },
    "8157": {
      "op": "REVERT"
    },
    "8158": {
      "op": "JUMPDEST"
    },
    "8159": {
      "op": "POP"
    },
    "8160": {
      "op": "MLOAD"
    },
    "8161": {
      "op": "SWAP2"
    },
    "8162": {
      "op": "SWAP1"
    },
    "8163": {
      "op": "POP"
    },
    "8164": {
      "jump": "o",
      "op": "JUMP"
    },
    "8165": {
      "op": "JUMPDEST"
    },
    "8166": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8168": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8170": {
      "op": "DUP3"
    },
    "8171": {
      "op": "DUP5"
    },
    "8172": {
      "op": "SUB"
    },
    "8173": {
      "op": "SLT"
    },
    "8174": {
      "op": "ISZERO"
    },
    "8175": {
      "op": "PUSH2",
      "value": "0x1FF6"
    },
    "8178": {
      "op": "JUMPI"
    },
    "8179": {
      "op": "DUP1"
    },
    "8180": {
      "op": "DUP2"
    },
    "8181": {
      "op": "REVERT"
    },
    "8182": {
      "op": "JUMPDEST"
    },
    "8183": {
      "op": "DUP2"
    },
    "8184": {
      "op": "CALLDATALOAD"
    },
    "8185": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8188": {
      "op": "DUP2"
    },
    "8189": {
      "op": "PUSH2",
      "value": "0x21B6"
    },
    "8192": {
      "jump": "i",
      "op": "JUMP"
    },
    "8193": {
      "op": "JUMPDEST"
    },
    "8194": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8196": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8198": {
      "op": "DUP3"
    },
    "8199": {
      "op": "DUP5"
    },
    "8200": {
      "op": "SUB"
    },
    "8201": {
      "op": "SLT"
    },
    "8202": {
      "op": "ISZERO"
    },
    "8203": {
      "op": "PUSH2",
      "value": "0x2012"
    },
    "8206": {
      "op": "JUMPI"
    },
    "8207": {
      "op": "DUP1"
    },
    "8208": {
      "op": "DUP2"
    },
    "8209": {
      "op": "REVERT"
    },
    "8210": {
      "op": "JUMPDEST"
    },
    "8211": {
      "op": "DUP2"
    },
    "8212": {
      "op": "MLOAD"
    },
    "8213": {
      "op": "PUSH2",
      "value": "0x1F8A"
    },
    "8216": {
      "op": "DUP2"
    },
    "8217": {
      "op": "PUSH2",
      "value": "0x21B6"
    },
    "8220": {
      "jump": "i",
      "op": "JUMP"
    },
    "8221": {
      "op": "JUMPDEST"
    },
    "8222": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8224": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8226": {
      "op": "DUP3"
    },
    "8227": {
      "op": "DUP5"
    },
    "8228": {
      "op": "SUB"
    },
    "8229": {
      "op": "SLT"
    },
    "8230": {
      "op": "ISZERO"
    },
    "8231": {
      "op": "PUSH2",
      "value": "0x202E"
    },
    "8234": {
      "op": "JUMPI"
    },
    "8235": {
      "op": "DUP1"
    },
    "8236": {
      "op": "DUP2"
    },
    "8237": {
      "op": "REVERT"
    },
    "8238": {
      "op": "JUMPDEST"
    },
    "8239": {
      "op": "POP"
    },
    "8240": {
      "op": "CALLDATALOAD"
    },
    "8241": {
      "op": "SWAP2"
    },
    "8242": {
      "op": "SWAP1"
    },
    "8243": {
      "op": "POP"
    },
    "8244": {
      "jump": "o",
      "op": "JUMP"
    },
    "8245": {
      "op": "JUMPDEST"
    },
    "8246": {
      "op": "PUSH1",
      "value": "0x7"
    },
    "8248": {
      "op": "DUP2"
    },
    "8249": {
      "op": "LT"
    },
    "8250": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8253": {
      "op": "JUMPI"
    },
    "8254": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8257": {
      "op": "PUSH2",
      "value": "0x2188"
    },
    "8260": {
      "jump": "i",
      "op": "JUMP"
    },
    "8261": {
      "op": "JUMPDEST"
    },
    "8262": {
      "op": "SWAP1"
    },
    "8263": {
      "op": "MSTORE"
    },
    "8264": {
      "jump": "o",
      "op": "JUMP"
    },
    "8265": {
      "op": "JUMPDEST"
    },
    "8266": {
      "op": "PUSH1",
      "value": "0x3"
    },
    "8268": {
      "op": "DUP2"
    },
    "8269": {
      "op": "LT"
    },
    "8270": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8273": {
      "op": "JUMPI"
    },
    "8274": {
      "op": "PUSH2",
      "value": "0x2045"
    },
    "8277": {
      "op": "PUSH2",
      "value": "0x2188"
    },
    "8280": {
      "jump": "i",
      "op": "JUMP"
    },
    "8281": {
      "op": "JUMPDEST"
    },
    "8282": {
      "op": "DUP5"
    },
    "8283": {
      "op": "DUP2"
    },
    "8284": {
      "op": "MSTORE"
    },
    "8285": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "8287": {
      "op": "DUP2"
    },
    "8288": {
      "op": "ADD"
    },
    "8289": {
      "op": "PUSH2",
      "value": "0x206D"
    },
    "8292": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8294": {
      "op": "DUP4"
    },
    "8295": {
      "op": "ADD"
    },
    "8296": {
      "op": "DUP7"
    },
    "8297": {
      "op": "PUSH2",
      "value": "0x2049"
    },
    "8300": {
      "jump": "i",
      "op": "JUMP"
    },
    "8301": {
      "op": "JUMPDEST"
    },
    "8302": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8304": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8306": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8308": {
      "op": "SHL"
    },
    "8309": {
      "op": "SUB"
    },
    "8310": {
      "op": "SWAP4"
    },
    "8311": {
      "op": "SWAP1"
    },
    "8312": {
      "op": "SWAP4"
    },
    "8313": {
      "op": "AND"
    },
    "8314": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8316": {
      "op": "DUP3"
    },
    "8317": {
      "op": "ADD"
    },
    "8318": {
      "op": "MSTORE"
    },
    "8319": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8321": {
      "op": "ADD"
    },
    "8322": {
      "op": "MSTORE"
    },
    "8323": {
      "op": "SWAP3"
    },
    "8324": {
      "op": "SWAP2"
    },
    "8325": {
      "op": "POP"
    },
    "8326": {
      "op": "POP"
    },
    "8327": {
      "jump": "o",
      "op": "JUMP"
    },
    "8328": {
      "op": "JUMPDEST"
    },
    "8329": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8331": {
      "op": "DUP2"
    },
    "8332": {
      "op": "ADD"
    },
    "8333": {
      "op": "PUSH2",
      "value": "0x1847"
    },
    "8336": {
      "op": "DUP3"
    },
    "8337": {
      "op": "DUP5"
    },
    "8338": {
      "op": "PUSH2",
      "value": "0x2035"
    },
    "8341": {
      "jump": "i",
      "op": "JUMP"
    },
    "8342": {
      "op": "JUMPDEST"
    },
    "8343": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8345": {
      "op": "DUP2"
    },
    "8346": {
      "op": "ADD"
    },
    "8347": {
      "op": "PUSH2",
      "value": "0x1847"
    },
    "8350": {
      "op": "DUP3"
    },
    "8351": {
      "op": "DUP5"
    },
    "8352": {
      "op": "PUSH2",
      "value": "0x2049"
    },
    "8355": {
      "jump": "i",
      "op": "JUMP"
    },
    "8356": {
      "op": "JUMPDEST"
    },
    "8357": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8359": {
      "op": "DUP1"
    },
    "8360": {
      "op": "DUP3"
    },
    "8361": {
      "op": "MSTORE"
    },
    "8362": {
      "op": "PUSH1",
      "value": "0x2B"
    },
    "8364": {
      "op": "SWAP1"
    },
    "8365": {
      "op": "DUP3"
    },
    "8366": {
      "op": "ADD"
    },
    "8367": {
      "op": "MSTORE"
    },
    "8368": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030323A4E4F545F494E5354414E43455F4F50455241"
    },
    "8401": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8403": {
      "op": "DUP3"
    },
    "8404": {
      "op": "ADD"
    },
    "8405": {
      "op": "MSTORE"
    },
    "8406": {
      "op": "PUSH11",
      "value": "0x544F525F53455256494345"
    },
    "8418": {
      "op": "PUSH1",
      "value": "0xA8"
    },
    "8420": {
      "op": "SHL"
    },
    "8421": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8423": {
      "op": "DUP3"
    },
    "8424": {
      "op": "ADD"
    },
    "8425": {
      "op": "MSTORE"
    },
    "8426": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "8428": {
      "op": "ADD"
    },
    "8429": {
      "op": "SWAP1"
    },
    "8430": {
      "jump": "o",
      "op": "JUMP"
    },
    "8431": {
      "op": "JUMPDEST"
    },
    "8432": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8434": {
      "op": "DUP1"
    },
    "8435": {
      "op": "DUP3"
    },
    "8436": {
      "op": "MSTORE"
    },
    "8437": {
      "op": "PUSH1",
      "value": "0x29"
    },
    "8439": {
      "op": "SWAP1"
    },
    "8440": {
      "op": "DUP3"
    },
    "8441": {
      "op": "ADD"
    },
    "8442": {
      "op": "MSTORE"
    },
    "8443": {
      "op": "PUSH32",
      "value": "0x4552524F523A4343522D3030313A4E4F545F434F4D504F4E454E545F4F574E45"
    },
    "8476": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8478": {
      "op": "DUP3"
    },
    "8479": {
      "op": "ADD"
    },
    "8480": {
      "op": "MSTORE"
    },
    "8481": {
      "op": "PUSH9",
      "value": "0x525F53455256494345"
    },
    "8491": {
      "op": "PUSH1",
      "value": "0xB8"
    },
    "8493": {
      "op": "SHL"
    },
    "8494": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8496": {
      "op": "DUP3"
    },
    "8497": {
      "op": "ADD"
    },
    "8498": {
      "op": "MSTORE"
    },
    "8499": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "8501": {
      "op": "ADD"
    },
    "8502": {
      "op": "SWAP1"
    },
    "8503": {
      "jump": "o",
      "op": "JUMP"
    },
    "8504": {
      "op": "JUMPDEST"
    },
    "8505": {
      "op": "DUP4"
    },
    "8506": {
      "op": "DUP2"
    },
    "8507": {
      "op": "MSTORE"
    },
    "8508": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "8510": {
      "op": "DUP2"
    },
    "8511": {
      "op": "ADD"
    },
    "8512": {
      "op": "PUSH2",
      "value": "0x214C"
    },
    "8515": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8517": {
      "op": "DUP4"
    },
    "8518": {
      "op": "ADD"
    },
    "8519": {
      "op": "DUP6"
    },
    "8520": {
      "op": "PUSH2",
      "value": "0x2035"
    },
    "8523": {
      "jump": "i",
      "op": "JUMP"
    },
    "8524": {
      "op": "JUMPDEST"
    },
    "8525": {
      "op": "PUSH2",
      "value": "0x2159"
    },
    "8528": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "8530": {
      "op": "DUP4"
    },
    "8531": {
      "op": "ADD"
    },
    "8532": {
      "op": "DUP5"
    },
    "8533": {
      "op": "PUSH2",
      "value": "0x2035"
    },
    "8536": {
      "jump": "i",
      "op": "JUMP"
    },
    "8537": {
      "op": "JUMPDEST"
    },
    "8538": {
      "op": "SWAP5"
    },
    "8539": {
      "op": "SWAP4"
    },
    "8540": {
      "op": "POP"
    },
    "8541": {
      "op": "POP"
    },
    "8542": {
      "op": "POP"
    },
    "8543": {
      "op": "POP"
    },
    "8544": {
      "jump": "o",
      "op": "JUMP"
    },
    "8545": {
      "op": "JUMPDEST"
    },
    "8546": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8548": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8550": {
      "op": "NOT"
    },
    "8551": {
      "op": "DUP3"
    },
    "8552": {
      "op": "EQ"
    },
    "8553": {
      "op": "ISZERO"
    },
    "8554": {
      "op": "PUSH2",
      "value": "0x2181"
    },
    "8557": {
      "op": "JUMPI"
    },
    "8558": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "8563": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "8565": {
      "op": "SHL"
    },
    "8566": {
      "op": "DUP2"
    },
    "8567": {
      "op": "MSTORE"
    },
    "8568": {
      "op": "PUSH1",
      "value": "0x11"
    },
    "8570": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "8572": {
      "op": "MSTORE"
    },
    "8573": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "8575": {
      "op": "DUP2"
    },
    "8576": {
      "op": "REVERT"
    },
    "8577": {
      "op": "JUMPDEST"
    },
    "8578": {
      "op": "POP"
    },
    "8579": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8581": {
      "op": "ADD"
    },
    "8582": {
      "op": "SWAP1"
    },
    "8583": {
      "jump": "o",
      "op": "JUMP"
    },
    "8584": {
      "op": "JUMPDEST"
    },
    "8585": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "8590": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "8592": {
      "op": "SHL"
    },
    "8593": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8595": {
      "op": "MSTORE"
    },
    "8596": {
      "op": "PUSH1",
      "value": "0x21"
    },
    "8598": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "8600": {
      "op": "MSTORE"
    },
    "8601": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "8603": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8605": {
      "op": "REVERT"
    },
    "8606": {
      "op": "JUMPDEST"
    },
    "8607": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8609": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8611": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8613": {
      "op": "SHL"
    },
    "8614": {
      "op": "SUB"
    },
    "8615": {
      "op": "DUP2"
    },
    "8616": {
      "op": "AND"
    },
    "8617": {
      "op": "DUP2"
    },
    "8618": {
      "op": "EQ"
    },
    "8619": {
      "op": "PUSH2",
      "value": "0x21B3"
    },
    "8622": {
      "op": "JUMPI"
    },
    "8623": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8625": {
      "op": "DUP1"
    },
    "8626": {
      "op": "REVERT"
    },
    "8627": {
      "op": "JUMPDEST"
    },
    "8628": {
      "op": "POP"
    },
    "8629": {
      "jump": "o",
      "op": "JUMP"
    },
    "8630": {
      "op": "JUMPDEST"
    },
    "8631": {
      "op": "PUSH1",
      "value": "0x3"
    },
    "8633": {
      "op": "DUP2"
    },
    "8634": {
      "op": "LT"
    },
    "8635": {
      "op": "PUSH2",
      "value": "0x21B3"
    },
    "8638": {
      "op": "JUMPI"
    },
    "8639": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8641": {
      "op": "DUP1"
    },
    "8642": {
      "op": "REVERT"
    }
  },
  "sha1": "c476c89b7b4af11a3a88d597e59098ff3dd1a121",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"../shared/CoreController.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IComponent.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IOracle.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IProduct.sol\";\nimport \"@etherisc/gif-interface/contracts/components/IRiskpool.sol\";\nimport \"@etherisc/gif-interface/contracts/modules/IComponentEvents.sol\";\nimport \"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\";\n\ncontract ComponentController is\n    IComponentEvents,\n    CoreController \n {\n    using EnumerableSet for EnumerableSet.UintSet;\n\n    mapping(uint256 => IComponent) private _componentById;\n    mapping(bytes32 => uint256) private _componentIdByName;\n    mapping(address => uint256) private _componentIdByAddress;\n\n    mapping(uint256 => IComponent.ComponentState) private _componentState;\n\n    EnumerableSet.UintSet private _products;\n    EnumerableSet.UintSet private _oracles;\n    EnumerableSet.UintSet private _riskpools;\n    uint256 private _componentCount;\n\n    mapping(uint256 /* product id */ => address /* policy flow address */) private _policyFlowByProductId;\n\n    modifier onlyComponentOwnerService() {\n        require(\n            _msgSender() == _getContractAddress(\"ComponentOwnerService\"),\n            \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\");\n        _;\n    }\n\n    modifier onlyInstanceOperatorService() {\n        require(\n            _msgSender() == _getContractAddress(\"InstanceOperatorService\"),\n            \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\");\n        _;\n    }\n\n    function propose(IComponent component) \n        external\n        onlyComponentOwnerService \n    {\n        // input validation\n        require(_componentIdByAddress[address(component)] == 0, \"ERROR:CCR-003:COMPONENT_ALREADY_EXISTS\");\n        require(_componentIdByName[component.getName()] == 0, \"ERROR:CCR-004:COMPONENT_NAME_ALREADY_EXISTS\");\n\n        // assigning id and persisting component\n        uint256 id = _persistComponent(component);\n\n        // log entry for successful proposal\n        emit LogComponentProposed(\n            component.getName(),\n            component.getType(),\n            address(component),\n            id);\n        \n        // inform component about successful proposal\n        component.proposalCallback();\n    }\n\n    function _persistComponent(IComponent component) \n        internal\n        returns(uint256 id)\n    {\n        // fetch next component id\n        _componentCount++;\n        id = _componentCount;\n\n        // update component state\n        _changeState(id, IComponent.ComponentState.Proposed);\n        component.setId(id);\n\n        // update controller book keeping\n        _componentById[id] = component;\n        _componentIdByName[component.getName()] = id;\n        _componentIdByAddress[address(component)] = id;\n\n        // type specific book keeping\n        if (component.isProduct()) { EnumerableSet.add(_products, id); }\n        else if (component.isOracle()) { EnumerableSet.add(_oracles, id); }\n        else if (component.isRiskpool()) { EnumerableSet.add(_riskpools, id); }\n    }\n\n    function exists(uint256 id) public view returns(bool) {\n        IComponent component = _componentById[id];\n        return (address(component) != address(0));\n    }\n\n    function approve(uint256 id) \n        external\n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Active);\n        IComponent component = getComponent(id);\n\n        if (isProduct(id)) {\n            _policyFlowByProductId[id] = IProduct(address(component)).getPolicyFlow();\n        }\n\n        emit LogComponentApproved(id);\n        \n        // inform component about successful approval\n        component.approvalCallback();\n    }\n\n    function decline(uint256 id) \n        external\n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Declined);\n        emit LogComponentDeclined(id);\n        \n        // inform component about decline\n        IComponent component = getComponent(id);\n        component.declineCallback();\n    }\n\n    function suspend(uint256 id) \n        external \n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Suspended);\n        emit LogComponentSuspended(id);\n        \n        // inform component about suspending\n        IComponent component = getComponent(id);\n        component.suspendCallback();\n    }\n\n    function resume(uint256 id) \n        external \n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Active);\n        emit LogComponentResumed(id);\n        \n        // inform component about resuming\n        IComponent component = getComponent(id);\n        component.resumeCallback();\n    }\n\n    function pause(uint256 id) \n        external \n        onlyComponentOwnerService \n    {\n        _changeState(id, IComponent.ComponentState.Paused);\n        emit LogComponentPaused(id);\n        \n        // inform component about pausing\n        IComponent component = getComponent(id);\n        component.pauseCallback();\n    }\n\n    function unpause(uint256 id) \n        external \n        onlyComponentOwnerService \n    {\n        _changeState(id, IComponent.ComponentState.Active);\n        emit LogComponentUnpaused(id);\n        \n        // inform component about unpausing\n        IComponent component = getComponent(id);\n        component.unpauseCallback();\n    }\n\n    function archiveFromComponentOwner(uint256 id) \n        external \n        onlyComponentOwnerService \n    {\n        _changeState(id, IComponent.ComponentState.Archived);\n        emit LogComponentArchived(id);\n        \n        // inform component about archiving\n        IComponent component = getComponent(id);\n        component.archiveCallback();\n    }\n\n    function archiveFromInstanceOperator(uint256 id) \n        external \n        onlyInstanceOperatorService \n    {\n        _changeState(id, IComponent.ComponentState.Archived);\n        emit LogComponentArchived(id);\n        \n        // inform component about archiving\n        IComponent component = getComponent(id);\n        component.archiveCallback();\n    }\n\n    function getComponent(uint256 id) public view returns (IComponent component) {\n        component = _componentById[id];\n        require(address(component) != address(0), \"ERROR:CCR-005:INVALID_COMPONENT_ID\");\n    }\n\n    function getComponentId(address componentAddress) public view returns (uint256 id) {\n        require(componentAddress != address(0), \"ERROR:CCR-006:COMPONENT_ADDRESS_ZERO\");\n        id = _componentIdByAddress[componentAddress];\n\n        require(id > 0, \"ERROR:CCR-007:COMPONENT_UNKNOWN\");\n    }\n\n    function getComponentType(uint256 id) public view returns (IComponent.ComponentType componentType) {\n        if (EnumerableSet.contains(_products, id)) {\n            return IComponent.ComponentType.Product;\n        } else if (EnumerableSet.contains(_oracles, id)) {\n            return IComponent.ComponentType.Oracle;\n        } else if (EnumerableSet.contains(_riskpools, id)) {\n            return IComponent.ComponentType.Riskpool;\n        } else {\n            revert(\"ERROR:CCR-008:INVALID_COMPONENT_ID\");\n        }\n    }\n\n    function getComponentState(uint256 id) public view returns (IComponent.ComponentState componentState) {\n        return _componentState[id];\n    }\n\n    function getOracleId(uint256 idx) public view returns (uint256 oracleId) {\n        return EnumerableSet.at(_oracles, idx);\n    }\n\n    function getRiskpoolId(uint256 idx) public view returns (uint256 riskpoolId) {\n        return EnumerableSet.at(_riskpools, idx);\n    }\n\n    function getProductId(uint256 idx) public view returns (uint256 productId) {\n        return EnumerableSet.at(_products, idx);\n    }\n\n    function getRequiredRole(IComponent.ComponentType componentType) external view returns (bytes32) {\n        if (componentType == IComponent.ComponentType.Product) { return _access.getProductOwnerRole(); }\n        else if (componentType == IComponent.ComponentType.Oracle) { return _access.getOracleProviderRole(); }\n        else if (componentType == IComponent.ComponentType.Riskpool) { return _access.getRiskpoolKeeperRole(); }\n        else { revert(\"ERROR:CCR-010:COMPONENT_TYPE_UNKNOWN\"); }\n    }\n\n    function components() public view returns (uint256 count) { return _componentCount; }\n    function products() public view returns (uint256 count) { return EnumerableSet.length(_products); }\n    function oracles() public view returns (uint256 count) { return EnumerableSet.length(_oracles); }\n    function riskpools() public view returns (uint256 count) { return EnumerableSet.length(_riskpools); }\n\n    function isProduct(uint256 id) public view returns (bool) { return EnumerableSet.contains(_products, id); }\n\n    function isOracle(uint256 id) public view returns (bool) { return EnumerableSet.contains(_oracles, id); }\n\n    function isRiskpool(uint256 id) public view returns (bool) { return EnumerableSet.contains(_riskpools, id); }\n\n    function getPolicyFlow(uint256 productId) public view returns (address _policyFlow) {\n        require(isProduct(productId), \"ERROR:CCR-011:UNKNOWN_PRODUCT_ID\");\n        _policyFlow = _policyFlowByProductId[productId];\n    }\n\n    function _changeState(uint256 componentId, IComponent.ComponentState newState) internal {\n        IComponent.ComponentState oldState = _componentState[componentId];\n\n        _checkStateTransition(oldState, newState);\n        _componentState[componentId] = newState;\n\n        // log entry for successful component state change\n        emit LogComponentStateChanged(componentId, oldState, newState);\n    }\n\n    function _checkStateTransition(\n        IComponent.ComponentState oldState, \n        IComponent.ComponentState newState\n    ) \n        internal \n        pure \n    {\n        require(newState != oldState, \n            \"ERROR:CCR-020:SOURCE_AND_TARGET_STATE_IDENTICAL\");\n        \n        if (oldState == IComponent.ComponentState.Created) {\n            require(newState == IComponent.ComponentState.Proposed, \n                \"ERROR:CCR-021:CREATED_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Proposed) {\n            require(newState == IComponent.ComponentState.Active \n                || newState == IComponent.ComponentState.Declined, \n                \"ERROR:CCR-22:PROPOSED_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Declined) {\n            revert(\"ERROR:CCR-023:DECLINED_IS_FINAL_STATE\");\n        } else if (oldState == IComponent.ComponentState.Active) {\n            require(newState == IComponent.ComponentState.Paused \n                || newState == IComponent.ComponentState.Suspended, \n                \"ERROR:CCR-024:ACTIVE_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Paused) {\n            require(newState == IComponent.ComponentState.Active\n                || newState == IComponent.ComponentState.Archived, \n                \"ERROR:CCR-025:PAUSED_INVALID_TRANSITION\");\n        } else if (oldState == IComponent.ComponentState.Suspended) {\n            require(newState == IComponent.ComponentState.Active\n                || newState == IComponent.ComponentState.Archived, \n                \"ERROR:CCR-026:SUSPENDED_INVALID_TRANSITION\");\n        } else {\n            revert(\"ERROR:CCR-027:INITIAL_STATE_NOT_HANDLED\");\n        }\n    }\n}\n",
  "sourceMap": "527:11230:18:-:0;;;;;;;;;;;;-1:-1:-1;466:22:22;:20;:22::i;:::-;527:11230:18;;5366:279:1;5434:13;;;;;;;5433:14;5425:66;;;;-1:-1:-1;;;5425:66:1;;216:2:67;5425:66:1;;;198:21:67;255:2;235:18;;;228:30;294:34;274:18;;;267:62;-1:-1:-1;;;345:18:67;;;338:37;392:19;;5425:66:1;;;;;;;;5505:12;;5520:15;5505:12;;;:30;5501:138;;;5551:12;:30;;-1:-1:-1;;5551:30:1;5566:15;5551:30;;;;;;5600:28;;564:36:67;;;5600:28:1;;552:2:67;537:18;5600:28:1;;;;;;;5501:138;5366:279::o;519:87:67:-;527:11230:18;;;;;;",
  "sourcePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/ComponentController.sol",
  "type": "contract"
}