{
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "DECIMALS",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "INITIAL_SUPPLY",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "NAME",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "SYMBOL",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "13": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC20/ERC20.sol",
    "14": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC20/IERC20.sol",
    "15": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC20/extensions/IERC20Metadata.sol",
    "23": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Context.sol",
    "64": "contracts/test/Tokens.sol"
  },
  "ast": {
    "absolutePath": "contracts/test/Tokens.sol",
    "exportedSymbols": {
      "DIP": [
        11222
      ],
      "ERC20": [
        14870
      ],
      "USD1": [
        11098
      ],
      "USD2": [
        11138
      ],
      "USD3": [
        11178
      ]
    },
    "id": 11223,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 10970,
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".19"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:24:64"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC20/ERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
        "id": 10972,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 11223,
        "sourceUnit": 14871,
        "src": "65:68:64",
        "symbolAliases": [
          {
            "foreign": {
              "id": 10971,
              "name": "ERC20",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 14870,
              "src": "73:5:64",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 10973,
              "name": "ERC20",
              "nameLocations": [
                "152:5:64"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 14870,
              "src": "152:5:64"
            },
            "id": 10974,
            "nodeType": "InheritanceSpecifier",
            "src": "152:5:64"
          }
        ],
        "canonicalName": "USD1",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 11098,
        "linearizedBaseContracts": [
          11098,
          14870,
          12510,
          16856,
          16878
        ],
        "name": "USD1",
        "nameLocation": "144:4:64",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "functionSelector": "a3f4df7e",
            "id": 10977,
            "mutability": "constant",
            "name": "NAME",
            "nameLocation": "285:4:64",
            "nodeType": "VariableDeclaration",
            "scope": 11098,
            "src": "262:48:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 10975,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "262:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "55534420436f696e202d2044554d4d59",
              "id": 10976,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "292:18:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_f1f77fb2c2c60421f2302e24a7e4cd9881e813fbb52a287a66078d21b2506554",
                "typeString": "literal_string \"USD Coin - DUMMY\""
              },
              "value": "USD Coin - DUMMY"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "f76f8d78",
            "id": 10980,
            "mutability": "constant",
            "name": "SYMBOL",
            "nameLocation": "339:6:64",
            "nodeType": "VariableDeclaration",
            "scope": 11098,
            "src": "316:38:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 10978,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "316:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "55534443",
              "id": 10979,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "348:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_d6aca1be9729c13d677335161321649cccae6a591554772516700f986f942eaa",
                "typeString": "literal_string \"USDC\""
              },
              "value": "USDC"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2e0f2625",
            "id": 10983,
            "mutability": "constant",
            "name": "DECIMALS",
            "nameLocation": "382:8:64",
            "nodeType": "VariableDeclaration",
            "scope": 11098,
            "src": "360:34:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 10981,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "360:5:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "hexValue": "36",
              "id": 10982,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "393:1:64",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_6_by_1",
                "typeString": "int_const 6"
              },
              "value": "6"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2ff2e9dc",
            "id": 10988,
            "mutability": "constant",
            "name": "INITIAL_SUPPLY",
            "nameLocation": "425:14:64",
            "nodeType": "VariableDeclaration",
            "scope": 11098,
            "src": "401:47:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 10984,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "401:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "commonType": {
                "typeIdentifier": "t_rational_1000000000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000000000"
              },
              "id": 10987,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "hexValue": "3130",
                "id": 10985,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "442:2:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10_by_1",
                  "typeString": "int_const 10"
                },
                "value": "10"
              },
              "nodeType": "BinaryOperation",
              "operator": "**",
              "rightExpression": {
                "hexValue": "3234",
                "id": 10986,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "446:2:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_24_by_1",
                  "typeString": "int_const 24"
                },
                "value": "24"
              },
              "src": "442:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000000000"
              }
            },
            "visibility": "public"
          },
          {
            "anonymous": false,
            "eventSelector": "ce4d50197324ce75c52edf3e59b7b98b34ef1a98951180ad2134990f048554ff",
            "id": 11000,
            "name": "LogUsd1Transfer",
            "nameLocation": "461:15:64",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 10999,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10990,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "485:4:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11000,
                  "src": "477:12:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10989,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "477:7:64",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10992,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "499:2:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11000,
                  "src": "491:10:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10991,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "491:7:64",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10994,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "511:6:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11000,
                  "src": "503:14:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10993,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "503:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10996,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "time",
                  "nameLocation": "527:4:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11000,
                  "src": "519:12:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10995,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "519:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10998,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "blockNumber",
                  "nameLocation": "541:11:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11000,
                  "src": "533:19:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10997,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "533:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "476:77:64"
            },
            "src": "455:99:64"
          },
          {
            "anonymous": false,
            "eventSelector": "bebbf968ce34a42435040695b1cae18b56e2b2592359e5bf161f2f6993caa9bc",
            "id": 11012,
            "name": "LogUsd1TransferFrom",
            "nameLocation": "565:19:64",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 11011,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11002,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "593:4:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11012,
                  "src": "585:12:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 11001,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "585:7:64",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11004,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "607:2:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11012,
                  "src": "599:10:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 11003,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "599:7:64",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11006,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "619:6:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11012,
                  "src": "611:14:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11005,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "611:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11008,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "time",
                  "nameLocation": "635:4:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11012,
                  "src": "627:12:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11007,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "627:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11010,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "blockNumber",
                  "nameLocation": "649:11:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11012,
                  "src": "641:19:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11009,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "641:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "584:77:64"
            },
            "src": "559:103:64"
          },
          {
            "body": {
              "id": 11025,
              "nodeType": "Block",
              "src": "713:86:64",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 11020,
                          "name": "_msgSender",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 16868,
                          "src": "742:10:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 11021,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "742:12:64",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11022,
                        "name": "INITIAL_SUPPLY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10988,
                        "src": "768:14:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11019,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14687,
                      "src": "723:5:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 11023,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "723:69:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11024,
                  "nodeType": "ExpressionStatement",
                  "src": "723:69:64"
                }
              ]
            },
            "id": 11026,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 11015,
                    "name": "NAME",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 10977,
                    "src": "695:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "id": 11016,
                    "name": "SYMBOL",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 10980,
                    "src": "701:6:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 11017,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 11014,
                  "name": "ERC20",
                  "nameLocations": [
                    "689:5:64"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 14870,
                  "src": "689:5:64"
                },
                "nodeType": "ModifierInvocation",
                "src": "689:19:64"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 11013,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "678:2:64"
            },
            "returnParameters": {
              "id": 11018,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "713:0:64"
            },
            "scope": 11098,
            "src": "667:132:64",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14358
            ],
            "body": {
              "id": 11034,
              "nodeType": "Block",
              "src": "861:32:64",
              "statements": [
                {
                  "expression": {
                    "id": 11032,
                    "name": "DECIMALS",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 10983,
                    "src": "878:8:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 11031,
                  "id": 11033,
                  "nodeType": "Return",
                  "src": "871:15:64"
                }
              ]
            },
            "functionSelector": "313ce567",
            "id": 11035,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nameLocation": "814:8:64",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11028,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "837:8:64"
            },
            "parameters": {
              "id": 11027,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "822:2:64"
            },
            "returnParameters": {
              "id": 11031,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11030,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11035,
                  "src": "854:5:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 11029,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "854:5:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "853:7:64"
            },
            "scope": 11098,
            "src": "805:88:64",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14407
            ],
            "body": {
              "id": 11066,
              "nodeType": "Block",
              "src": "984:225:64",
              "statements": [
                {
                  "assignments": [
                    11046
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 11046,
                      "mutability": "mutable",
                      "name": "from",
                      "nameLocation": "1002:4:64",
                      "nodeType": "VariableDeclaration",
                      "scope": 11066,
                      "src": "994:12:64",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 11045,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "994:7:64",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 11049,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 11047,
                      "name": "_msgSender",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 16868,
                      "src": "1009:10:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 11048,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1009:12:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "994:27:64"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 11051,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11046,
                        "src": "1111:4:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11052,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11037,
                        "src": "1117:2:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11053,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11039,
                        "src": "1121:6:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "id": 11054,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -4,
                          "src": "1129:5:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 11055,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1135:9:64",
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "src": "1129:15:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "id": 11056,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -4,
                          "src": "1146:5:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 11057,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1152:6:64",
                        "memberName": "number",
                        "nodeType": "MemberAccess",
                        "src": "1146:12:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11050,
                      "name": "LogUsd1TransferFrom",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11012,
                      "src": "1091:19:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256,uint256,uint256)"
                      }
                    },
                    "id": 11058,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1091:68:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11059,
                  "nodeType": "EmitStatement",
                  "src": "1086:73:64"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11062,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11037,
                        "src": "1191:2:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11063,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11039,
                        "src": "1195:6:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 11060,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -25,
                        "src": "1176:5:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_super$_USD1_$11098_$",
                          "typeString": "type(contract super USD1)"
                        }
                      },
                      "id": 11061,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1182:8:64",
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14407,
                      "src": "1176:14:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 11064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1176:26:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 11044,
                  "id": 11065,
                  "nodeType": "Return",
                  "src": "1169:33:64"
                }
              ]
            },
            "functionSelector": "a9059cbb",
            "id": 11067,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nameLocation": "908:8:64",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11041,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "960:8:64"
            },
            "parameters": {
              "id": 11040,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11037,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "925:2:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11067,
                  "src": "917:10:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 11036,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "917:7:64",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11039,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "937:6:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11067,
                  "src": "929:14:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11038,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "929:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "916:28:64"
            },
            "returnParameters": {
              "id": 11044,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11043,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11067,
                  "src": "978:4:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 11042,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "978:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "977:6:64"
            },
            "scope": 11098,
            "src": "899:310:64",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14483
            ],
            "body": {
              "id": 11096,
              "nodeType": "Block",
              "src": "1336:197:64",
              "statements": [
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 11080,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11069,
                        "src": "1425:4:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11081,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11071,
                        "src": "1431:2:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11082,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11073,
                        "src": "1435:6:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "id": 11083,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -4,
                          "src": "1443:5:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 11084,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1449:9:64",
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "src": "1443:15:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "expression": {
                          "id": 11085,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -4,
                          "src": "1460:5:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 11086,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1466:6:64",
                        "memberName": "number",
                        "nodeType": "MemberAccess",
                        "src": "1460:12:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11079,
                      "name": "LogUsd1TransferFrom",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11012,
                      "src": "1405:19:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256,uint256,uint256)"
                      }
                    },
                    "id": 11087,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1405:68:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11088,
                  "nodeType": "EmitStatement",
                  "src": "1400:73:64"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 11091,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11069,
                        "src": "1509:4:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11092,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11071,
                        "src": "1515:2:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11093,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11073,
                        "src": "1519:6:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 11089,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -25,
                        "src": "1490:5:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_super$_USD1_$11098_$",
                          "typeString": "type(contract super USD1)"
                        }
                      },
                      "id": 11090,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1496:12:64",
                      "memberName": "transferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14483,
                      "src": "1490:18:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,address,uint256) returns (bool)"
                      }
                    },
                    "id": 11094,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1490:36:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 11078,
                  "id": 11095,
                  "nodeType": "Return",
                  "src": "1483:43:64"
                }
              ]
            },
            "functionSelector": "23b872dd",
            "id": 11097,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nameLocation": "1228:12:64",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11075,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1307:8:64"
            },
            "parameters": {
              "id": 11074,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11069,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "1249:4:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11097,
                  "src": "1241:12:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 11068,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1241:7:64",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11071,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "1263:2:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11097,
                  "src": "1255:10:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 11070,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1255:7:64",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 11073,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1275:6:64",
                  "nodeType": "VariableDeclaration",
                  "scope": 11097,
                  "src": "1267:14:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 11072,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1267:7:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1240:42:64"
            },
            "returnParameters": {
              "id": 11078,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11077,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11097,
                  "src": "1325:4:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 11076,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1325:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1324:6:64"
            },
            "scope": 11098,
            "src": "1219:314:64",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          }
        ],
        "scope": 11223,
        "src": "135:1404:64",
        "usedErrors": []
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 11099,
              "name": "ERC20",
              "nameLocations": [
                "1559:5:64"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 14870,
              "src": "1559:5:64"
            },
            "id": 11100,
            "nodeType": "InheritanceSpecifier",
            "src": "1559:5:64"
          }
        ],
        "canonicalName": "USD2",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 11138,
        "linearizedBaseContracts": [
          11138,
          14870,
          12510,
          16856,
          16878
        ],
        "name": "USD2",
        "nameLocation": "1551:4:64",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "functionSelector": "a3f4df7e",
            "id": 11103,
            "mutability": "constant",
            "name": "NAME",
            "nameLocation": "1674:4:64",
            "nodeType": "VariableDeclaration",
            "scope": 11138,
            "src": "1651:50:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 11101,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1651:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "54657468657220555344202d2044554d4d59",
              "id": 11102,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1681:20:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_01b685621f391bcf137a793808016bdd9d545f7fa4b1262a5e028fd59cd7203f",
                "typeString": "literal_string \"Tether USD - DUMMY\""
              },
              "value": "Tether USD - DUMMY"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "f76f8d78",
            "id": 11106,
            "mutability": "constant",
            "name": "SYMBOL",
            "nameLocation": "1730:6:64",
            "nodeType": "VariableDeclaration",
            "scope": 11138,
            "src": "1707:38:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 11104,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1707:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "55534454",
              "id": 11105,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1739:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_8b1a1d9c2b109e527c9134b25b1a1833b16b6594f92daa9f6d9b7a6024bce9d0",
                "typeString": "literal_string \"USDT\""
              },
              "value": "USDT"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2e0f2625",
            "id": 11109,
            "mutability": "constant",
            "name": "DECIMALS",
            "nameLocation": "1773:8:64",
            "nodeType": "VariableDeclaration",
            "scope": 11138,
            "src": "1751:34:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 11107,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "1751:5:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "hexValue": "36",
              "id": 11108,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1784:1:64",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_6_by_1",
                "typeString": "int_const 6"
              },
              "value": "6"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2ff2e9dc",
            "id": 11114,
            "mutability": "constant",
            "name": "INITIAL_SUPPLY",
            "nameLocation": "1816:14:64",
            "nodeType": "VariableDeclaration",
            "scope": 11138,
            "src": "1792:47:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 11110,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1792:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "commonType": {
                "typeIdentifier": "t_rational_1000000000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000000000"
              },
              "id": 11113,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "hexValue": "3130",
                "id": 11111,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "1833:2:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10_by_1",
                  "typeString": "int_const 10"
                },
                "value": "10"
              },
              "nodeType": "BinaryOperation",
              "operator": "**",
              "rightExpression": {
                "hexValue": "3234",
                "id": 11112,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "1837:2:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_24_by_1",
                  "typeString": "int_const 24"
                },
                "value": "24"
              },
              "src": "1833:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000000000"
              }
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 11127,
              "nodeType": "Block",
              "src": "1892:86:64",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 11122,
                          "name": "_msgSender",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 16868,
                          "src": "1921:10:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 11123,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1921:12:64",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11124,
                        "name": "INITIAL_SUPPLY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11114,
                        "src": "1947:14:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11121,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14687,
                      "src": "1902:5:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 11125,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1902:69:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11126,
                  "nodeType": "ExpressionStatement",
                  "src": "1902:69:64"
                }
              ]
            },
            "id": 11128,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 11117,
                    "name": "NAME",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11103,
                    "src": "1874:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "id": 11118,
                    "name": "SYMBOL",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11106,
                    "src": "1880:6:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 11119,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 11116,
                  "name": "ERC20",
                  "nameLocations": [
                    "1868:5:64"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 14870,
                  "src": "1868:5:64"
                },
                "nodeType": "ModifierInvocation",
                "src": "1868:19:64"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 11115,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1857:2:64"
            },
            "returnParameters": {
              "id": 11120,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1892:0:64"
            },
            "scope": 11138,
            "src": "1846:132:64",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14358
            ],
            "body": {
              "id": 11136,
              "nodeType": "Block",
              "src": "2040:32:64",
              "statements": [
                {
                  "expression": {
                    "id": 11134,
                    "name": "DECIMALS",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11109,
                    "src": "2057:8:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 11133,
                  "id": 11135,
                  "nodeType": "Return",
                  "src": "2050:15:64"
                }
              ]
            },
            "functionSelector": "313ce567",
            "id": 11137,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nameLocation": "1993:8:64",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11130,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2016:8:64"
            },
            "parameters": {
              "id": 11129,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2001:2:64"
            },
            "returnParameters": {
              "id": 11133,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11132,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11137,
                  "src": "2033:5:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 11131,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "2033:5:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2032:7:64"
            },
            "scope": 11138,
            "src": "1984:88:64",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 11223,
        "src": "1542:532:64",
        "usedErrors": []
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 11139,
              "name": "ERC20",
              "nameLocations": [
                "2094:5:64"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 14870,
              "src": "2094:5:64"
            },
            "id": 11140,
            "nodeType": "InheritanceSpecifier",
            "src": "2094:5:64"
          }
        ],
        "canonicalName": "USD3",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 11178,
        "linearizedBaseContracts": [
          11178,
          14870,
          12510,
          16856,
          16878
        ],
        "name": "USD3",
        "nameLocation": "2086:4:64",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "functionSelector": "a3f4df7e",
            "id": 11143,
            "mutability": "constant",
            "name": "NAME",
            "nameLocation": "2209:4:64",
            "nodeType": "VariableDeclaration",
            "scope": 11178,
            "src": "2186:49:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 11141,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "2186:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "44756d6d7920555344202d2044554d4d59",
              "id": 11142,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2216:19:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_546826c9a0b968abffd1342d5c7319417e3b449f67b4e20e1e06fed705561a74",
                "typeString": "literal_string \"Dummy USD - DUMMY\""
              },
              "value": "Dummy USD - DUMMY"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "f76f8d78",
            "id": 11146,
            "mutability": "constant",
            "name": "SYMBOL",
            "nameLocation": "2264:6:64",
            "nodeType": "VariableDeclaration",
            "scope": 11178,
            "src": "2241:38:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 11144,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "2241:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "44555344",
              "id": 11145,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2273:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_b5a2d780925236f5bfea61107e924aee1063d3bd844416a64826b7188a75681c",
                "typeString": "literal_string \"DUSD\""
              },
              "value": "DUSD"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2e0f2625",
            "id": 11149,
            "mutability": "constant",
            "name": "DECIMALS",
            "nameLocation": "2307:8:64",
            "nodeType": "VariableDeclaration",
            "scope": 11178,
            "src": "2285:35:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 11147,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "2285:5:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "hexValue": "3133",
              "id": 11148,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2318:2:64",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_13_by_1",
                "typeString": "int_const 13"
              },
              "value": "13"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2ff2e9dc",
            "id": 11154,
            "mutability": "constant",
            "name": "INITIAL_SUPPLY",
            "nameLocation": "2351:14:64",
            "nodeType": "VariableDeclaration",
            "scope": 11178,
            "src": "2327:47:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 11150,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2327:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "commonType": {
                "typeIdentifier": "t_rational_1000000000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000000000"
              },
              "id": 11153,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "hexValue": "3130",
                "id": 11151,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "2368:2:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10_by_1",
                  "typeString": "int_const 10"
                },
                "value": "10"
              },
              "nodeType": "BinaryOperation",
              "operator": "**",
              "rightExpression": {
                "hexValue": "3234",
                "id": 11152,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "2372:2:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_24_by_1",
                  "typeString": "int_const 24"
                },
                "value": "24"
              },
              "src": "2368:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000000000"
              }
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 11167,
              "nodeType": "Block",
              "src": "2427:86:64",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 11162,
                          "name": "_msgSender",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 16868,
                          "src": "2456:10:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 11163,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2456:12:64",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11164,
                        "name": "INITIAL_SUPPLY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11154,
                        "src": "2482:14:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11161,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14687,
                      "src": "2437:5:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 11165,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2437:69:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11166,
                  "nodeType": "ExpressionStatement",
                  "src": "2437:69:64"
                }
              ]
            },
            "id": 11168,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 11157,
                    "name": "NAME",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11143,
                    "src": "2409:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "id": 11158,
                    "name": "SYMBOL",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11146,
                    "src": "2415:6:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 11159,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 11156,
                  "name": "ERC20",
                  "nameLocations": [
                    "2403:5:64"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 14870,
                  "src": "2403:5:64"
                },
                "nodeType": "ModifierInvocation",
                "src": "2403:19:64"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 11155,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2392:2:64"
            },
            "returnParameters": {
              "id": 11160,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2427:0:64"
            },
            "scope": 11178,
            "src": "2381:132:64",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14358
            ],
            "body": {
              "id": 11176,
              "nodeType": "Block",
              "src": "2575:32:64",
              "statements": [
                {
                  "expression": {
                    "id": 11174,
                    "name": "DECIMALS",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11149,
                    "src": "2592:8:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 11173,
                  "id": 11175,
                  "nodeType": "Return",
                  "src": "2585:15:64"
                }
              ]
            },
            "functionSelector": "313ce567",
            "id": 11177,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nameLocation": "2528:8:64",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11170,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2551:8:64"
            },
            "parameters": {
              "id": 11169,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2536:2:64"
            },
            "returnParameters": {
              "id": 11173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11172,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11177,
                  "src": "2568:5:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 11171,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "2568:5:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2567:7:64"
            },
            "scope": 11178,
            "src": "2519:88:64",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 11223,
        "src": "2077:532:64",
        "usedErrors": []
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 11179,
              "name": "ERC20",
              "nameLocations": [
                "2628:5:64"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 14870,
              "src": "2628:5:64"
            },
            "id": 11180,
            "nodeType": "InheritanceSpecifier",
            "src": "2628:5:64"
          }
        ],
        "canonicalName": "DIP",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 11222,
        "linearizedBaseContracts": [
          11222,
          14870,
          12510,
          16856,
          16878
        ],
        "name": "DIP",
        "nameLocation": "2621:3:64",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "functionSelector": "a3f4df7e",
            "id": 11183,
            "mutability": "constant",
            "name": "NAME",
            "nameLocation": "2754:4:64",
            "nodeType": "VariableDeclaration",
            "scope": 11222,
            "src": "2731:72:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 11181,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "2731:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "446563656e7472616c697a656420496e737572616e63652050726f746f636f6c202d2044554d4d59",
              "id": 11182,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2761:42:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_5c4837f8420c2a8423d33065abeba95b62388053f0bab017605196b03a41129f",
                "typeString": "literal_string \"Decentralized Insurance Protocol - DUMMY\""
              },
              "value": "Decentralized Insurance Protocol - DUMMY"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "f76f8d78",
            "id": 11186,
            "mutability": "constant",
            "name": "SYMBOL",
            "nameLocation": "2832:6:64",
            "nodeType": "VariableDeclaration",
            "scope": 11222,
            "src": "2809:37:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 11184,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "2809:6:64",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "444950",
              "id": 11185,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2841:5:64",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_d238ec68acc8443a59aaf11baf3e3983604c4aac1b7adcfe802a126a2dec24fc",
                "typeString": "literal_string \"DIP\""
              },
              "value": "DIP"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2e0f2625",
            "id": 11189,
            "mutability": "constant",
            "name": "DECIMALS",
            "nameLocation": "2874:8:64",
            "nodeType": "VariableDeclaration",
            "scope": 11222,
            "src": "2852:35:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 11187,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "2852:5:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "hexValue": "3138",
              "id": 11188,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "2885:2:64",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "2ff2e9dc",
            "id": 11198,
            "mutability": "constant",
            "name": "INITIAL_SUPPLY",
            "nameLocation": "2917:14:64",
            "nodeType": "VariableDeclaration",
            "scope": 11222,
            "src": "2893:61:64",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 11190,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2893:7:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "commonType": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              },
              "id": 11197,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "commonType": {
                  "typeIdentifier": "t_rational_1000000000_by_1",
                  "typeString": "int_const 1000000000"
                },
                "id": 11193,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "leftExpression": {
                  "hexValue": "3130",
                  "id": 11191,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "2934:2:64",
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_10_by_1",
                    "typeString": "int_const 10"
                  },
                  "value": "10"
                },
                "nodeType": "BinaryOperation",
                "operator": "**",
                "rightExpression": {
                  "hexValue": "39",
                  "id": 11192,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "2938:1:64",
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_9_by_1",
                    "typeString": "int_const 9"
                  },
                  "value": "9"
                },
                "src": "2934:5:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_1000000000_by_1",
                  "typeString": "int_const 1000000000"
                }
              },
              "nodeType": "BinaryOperation",
              "operator": "*",
              "rightExpression": {
                "commonType": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "id": 11196,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "leftExpression": {
                  "hexValue": "3130",
                  "id": 11194,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "2942:2:64",
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_10_by_1",
                    "typeString": "int_const 10"
                  },
                  "value": "10"
                },
                "nodeType": "BinaryOperation",
                "operator": "**",
                "rightExpression": {
                  "id": 11195,
                  "name": "DECIMALS",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 11189,
                  "src": "2946:8:64",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "src": "2942:12:64",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "src": "2934:20:64",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 11211,
              "nodeType": "Block",
              "src": "3084:89:64",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 11206,
                          "name": "_msgSender",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 16868,
                          "src": "3113:10:64",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 11207,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3113:12:64",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 11208,
                        "name": "INITIAL_SUPPLY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 11198,
                        "src": "3139:14:64",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 11205,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14687,
                      "src": "3094:5:64",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 11209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3094:69:64",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 11210,
                  "nodeType": "ExpressionStatement",
                  "src": "3094:69:64"
                }
              ]
            },
            "id": 11212,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 11201,
                    "name": "NAME",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11183,
                    "src": "3066:4:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "id": 11202,
                    "name": "SYMBOL",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11186,
                    "src": "3072:6:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 11203,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 11200,
                  "name": "ERC20",
                  "nameLocations": [
                    "3060:5:64"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 14870,
                  "src": "3060:5:64"
                },
                "nodeType": "ModifierInvocation",
                "src": "3060:19:64"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 11199,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3049:2:64"
            },
            "returnParameters": {
              "id": 11204,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3084:0:64"
            },
            "scope": 11222,
            "src": "3038:135:64",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14358
            ],
            "body": {
              "id": 11220,
              "nodeType": "Block",
              "src": "3235:32:64",
              "statements": [
                {
                  "expression": {
                    "id": 11218,
                    "name": "DECIMALS",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 11189,
                    "src": "3252:8:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 11217,
                  "id": 11219,
                  "nodeType": "Return",
                  "src": "3245:15:64"
                }
              ]
            },
            "functionSelector": "313ce567",
            "id": 11221,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nameLocation": "3188:8:64",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 11214,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3211:8:64"
            },
            "parameters": {
              "id": 11213,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3196:2:64"
            },
            "returnParameters": {
              "id": 11217,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 11216,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 11221,
                  "src": "3228:5:64",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 11215,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "3228:5:64",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3227:7:64"
            },
            "scope": 11222,
            "src": "3179:88:64",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 11223,
        "src": "2612:657:64",
        "usedErrors": []
      }
    ],
    "src": "39:3231:64"
  },
  "bytecode": "60806040523480156200001157600080fd5b506040518060400160405280601281526020017154657468657220555344202d2044554d4d5960701b815250604051806040016040528060048152602001631554d11560e21b81525081600390816200006b91906200021b565b5060046200007a82826200021b565b505050620000a262000091620000a860201b60201c565b69d3c21bcecceda1000000620000ac565b6200030f565b3390565b6001600160a01b038216620001075760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200011b9190620002e7565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001a257607f821691505b602082108103620001c357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017257600081815260208120601f850160051c81016020861015620001f25750805b601f850160051c820191505b818110156200021357828155600101620001fe565b505050505050565b81516001600160401b0381111562000237576200023762000177565b6200024f816200024884546200018d565b84620001c9565b602080601f8311600181146200028757600084156200026e5750858301515b600019600386901b1c1916600185901b17855562000213565b600085815260208120601f198616915b82811015620002b85788860151825594840194600190910190840162000297565b5085821015620002d75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200030957634e487b7160e01b600052601160045260246000fd5b92915050565b610915806200031f6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d714610207578063a9059cbb1461021a578063dd62ed3e1461022d578063f76f8d781461024057600080fd5b8063395093511461019257806370a08231146101a557806395d89b41146101ce578063a3f4df7e146101d657600080fd5b806323b872dd116100d357806323b872dd1461014d5780632e0f2625146101605780632ff2e9dc1461017a578063313ce5671461018b57600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610263565b60405161010f919061075f565b60405180910390f35b61012b6101263660046107c9565b6102f5565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b3660046107f3565b61030f565b610168600681565b60405160ff909116815260200161010f565b61013f69d3c21bcecceda100000081565b6006610168565b61012b6101a03660046107c9565b610333565b61013f6101b336600461082f565b6001600160a01b031660009081526020819052604090205490565b610102610355565b6101026040518060400160405280601281526020017154657468657220555344202d2044554d4d5960701b81525081565b61012b6102153660046107c9565b610364565b61012b6102283660046107c9565b6103e4565b61013f61023b366004610851565b6103f2565b610102604051806040016040528060048152602001631554d11560e21b81525081565b60606003805461027290610884565b80601f016020809104026020016040519081016040528092919081815260200182805461029e90610884565b80156102eb5780601f106102c0576101008083540402835291602001916102eb565b820191906000526020600020905b8154815290600101906020018083116102ce57829003601f168201915b5050505050905090565b60003361030381858561041d565b60019150505b92915050565b60003361031d858285610541565b6103288585856105bb565b506001949350505050565b60003361030381858561034683836103f2565b61035091906108be565b61041d565b60606004805461027290610884565b6000338161037282866103f2565b9050838110156103d75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610328828686840361041d565b6000336103038185856105bb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661047f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103ce565b6001600160a01b0382166104e05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103ce565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061054d84846103f2565b905060001981146105b557818110156105a85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103ce565b6105b5848484840361041d565b50505050565b6001600160a01b03831661061f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103ce565b6001600160a01b0382166106815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103ce565b6001600160a01b038316600090815260208190526040902054818110156106f95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103ce565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105b5565b600060208083528351808285015260005b8181101561078c57858101830151858201604001528201610770565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107c457600080fd5b919050565b600080604083850312156107dc57600080fd5b6107e5836107ad565b946020939093013593505050565b60008060006060848603121561080857600080fd5b610811846107ad565b925061081f602085016107ad565b9150604084013590509250925092565b60006020828403121561084157600080fd5b61084a826107ad565b9392505050565b6000806040838503121561086457600080fd5b61086d836107ad565b915061087b602084016107ad565b90509250929050565b600181811c9082168061089857607f821691505b6020821081036108b857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561030957634e487b7160e01b600052601160045260246000fdfea2646970667358221220df39b63e0cc24930b812e144a3932934e5b416a041695c02048fd289f89616fa64736f6c63430008130033",
  "bytecodeSha1": "062fee0f89147d55b1cb052219a0a60ddc319b1e",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.19+commit.7dd6d404"
  },
  "contractName": "USD2",
  "coverageMap": {
    "branches": {
      "13": {
        "ERC20._approve": {
          "29": [
            10635,
            10654,
            true
          ],
          "30": [
            10713,
            10734,
            true
          ]
        },
        "ERC20._spendAllowance": {
          "31": [
            11351,
            11388,
            false
          ],
          "32": [
            11412,
            11438,
            true
          ]
        },
        "ERC20._transfer": {
          "33": [
            7599,
            7617,
            true
          ],
          "34": [
            7677,
            7693,
            true
          ],
          "35": [
            7848,
            7869,
            true
          ]
        },
        "ERC20.decreaseAllowance": {
          "28": [
            6809,
            6844,
            true
          ]
        }
      },
      "14": {},
      "15": {},
      "23": {},
      "64": {}
    },
    "statements": {
      "13": {
        "ERC20._approve": {
          "15": [
            10627,
            10695
          ],
          "16": [
            10705,
            10773
          ],
          "17": [
            10784,
            10820
          ],
          "18": [
            10830,
            10867
          ]
        },
        "ERC20._spendAllowance": {
          "19": [
            11404,
            11472
          ],
          "20": [
            11514,
            11565
          ]
        },
        "ERC20._transfer": {
          "21": [
            7591,
            7659
          ],
          "22": [
            7669,
            7733
          ],
          "23": [
            7840,
            7912
          ],
          "24": [
            7946,
            7984
          ],
          "25": [
            8161,
            8184
          ],
          "26": [
            8205,
            8236
          ],
          "27": [
            8247,
            8284
          ]
        },
        "ERC20.allowance": {
          "14": [
            4082,
            4116
          ]
        },
        "ERC20.approve": {
          "4": [
            4568,
            4600
          ],
          "5": [
            4610,
            4621
          ]
        },
        "ERC20.balanceOf": {
          "1": [
            3499,
            3524
          ]
        },
        "ERC20.decreaseAllowance": {
          "11": [
            6801,
            6886
          ],
          "12": [
            6920,
            6980
          ]
        },
        "ERC20.increaseAllowance": {
          "9": [
            6013,
            6077
          ]
        },
        "ERC20.name": {
          "2": [
            2233,
            2245
          ]
        },
        "ERC20.symbol": {
          "10": [
            2446,
            2460
          ]
        },
        "ERC20.totalSupply": {
          "0": [
            3322,
            3341
          ]
        },
        "ERC20.transfer": {
          "13": [
            3860,
            3888
          ]
        },
        "ERC20.transferFrom": {
          "6": [
            5373,
            5411
          ],
          "7": [
            5421,
            5448
          ],
          "8": [
            5458,
            5469
          ]
        }
      },
      "14": {},
      "15": {},
      "23": {
        "Context._msgSender": {
          "3": [
            712,
            729
          ]
        }
      },
      "64": {}
    }
  },
  "dependencies": [
    "OpenZeppelin/openzeppelin-contracts@4.8.2/Context",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/ERC20",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/IERC20",
    "OpenZeppelin/openzeppelin-contracts@4.8.2/IERC20Metadata"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106100f55760003560e01c80633950935111610097578063a457c2d711610066578063a457c2d714610207578063a9059cbb1461021a578063dd62ed3e1461022d578063f76f8d781461024057600080fd5b8063395093511461019257806370a08231146101a557806395d89b41146101ce578063a3f4df7e146101d657600080fd5b806323b872dd116100d357806323b872dd1461014d5780632e0f2625146101605780632ff2e9dc1461017a578063313ce5671461018b57600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610263565b60405161010f919061075f565b60405180910390f35b61012b6101263660046107c9565b6102f5565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b3660046107f3565b61030f565b610168600681565b60405160ff909116815260200161010f565b61013f69d3c21bcecceda100000081565b6006610168565b61012b6101a03660046107c9565b610333565b61013f6101b336600461082f565b6001600160a01b031660009081526020819052604090205490565b610102610355565b6101026040518060400160405280601281526020017154657468657220555344202d2044554d4d5960701b81525081565b61012b6102153660046107c9565b610364565b61012b6102283660046107c9565b6103e4565b61013f61023b366004610851565b6103f2565b610102604051806040016040528060048152602001631554d11560e21b81525081565b60606003805461027290610884565b80601f016020809104026020016040519081016040528092919081815260200182805461029e90610884565b80156102eb5780601f106102c0576101008083540402835291602001916102eb565b820191906000526020600020905b8154815290600101906020018083116102ce57829003601f168201915b5050505050905090565b60003361030381858561041d565b60019150505b92915050565b60003361031d858285610541565b6103288585856105bb565b506001949350505050565b60003361030381858561034683836103f2565b61035091906108be565b61041d565b60606004805461027290610884565b6000338161037282866103f2565b9050838110156103d75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610328828686840361041d565b6000336103038185856105bb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661047f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103ce565b6001600160a01b0382166104e05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103ce565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061054d84846103f2565b905060001981146105b557818110156105a85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103ce565b6105b5848484840361041d565b50505050565b6001600160a01b03831661061f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103ce565b6001600160a01b0382166106815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103ce565b6001600160a01b038316600090815260208190526040902054818110156106f95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103ce565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105b5565b600060208083528351808285015260005b8181101561078c57858101830151858201604001528201610770565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107c457600080fd5b919050565b600080604083850312156107dc57600080fd5b6107e5836107ad565b946020939093013593505050565b60008060006060848603121561080857600080fd5b610811846107ad565b925061081f602085016107ad565b9150604084013590509250925092565b60006020828403121561084157600080fd5b61084a826107ad565b9392505050565b6000806040838503121561086457600080fd5b61086d836107ad565b915061087b602084016107ad565b90509250929050565b600181811c9082168061089857607f821691505b6020821081036108b857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561030957634e487b7160e01b600052601160045260246000fdfea2646970667358221220df39b63e0cc24930b812e144a3932934e5b416a041695c02048fd289f89616fa64736f6c63430008130033",
  "deployedSourceMap": "1542:532:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:67;;1162:22;1144:41;;1132:2;1117:18;4431:197:13;1004:187:67;3242:106:13;3329:12;;3242:106;;;1342:25:67;;;1330:2;1315:18;3242:106:13;1196:177:67;5190:286:13;;;;;;:::i;:::-;;:::i;1751:34:64:-;;1784:1;1751:34;;;;;1883:4:67;1871:17;;;1853:36;;1841:2;1826:18;1751:34:64;1711:184:67;1792:47:64;;1833:6;1792:47;;1984:88;1784:1;1984:88;;5871:234:13;;;;;;:::i;:::-;;:::i;3406:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:13;3480:7;3506:18;;;;;;;;;;;;3406:125;2365:102;;;:::i;1651:50:64:-;;;;;;;;;;;;;;;-1:-1:-1;;;1651:50:64;;;;;6592:427:13;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;1707:38:64:-;;;;;;;;;;;;;;;-1:-1:-1;;;1707:38:64;;;;;2154:98:13;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:23;4568:32:13;719:10:23;4584:7:13;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;;:::o;5190:286::-;5317:4;719:10:23;5373:38:13;5389:4;719:10:23;5404:6:13;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:13;;5190:286;-1:-1:-1;;;;5190:286:13:o;5871:234::-;5959:4;719:10:23;6013:64:13;719:10:23;6029:7:13;6066:10;6038:25;719:10:23;6029:7:13;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;2365:102::-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:23;6685:4:13;6766:25;719:10:23;6783:7:13;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:13;;3170:2:67;6801:85:13;;;3152:21:67;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:67;;;3292:35;3344:19;;6801:85:13;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:23;3860:28:13;719:10:23;3877:2:13;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:13;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;10504:370::-;-1:-1:-1;;;;;10635:19:13;;10627:68;;;;-1:-1:-1;;;10627:68:13;;3576:2:67;10627:68:13;;;3558:21:67;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:67;;;3698:34;3749:19;;10627:68:13;3374:400:67;10627:68:13;-1:-1:-1;;;;;10713:21:13;;10705:68;;;;-1:-1:-1;;;10705:68:13;;3981:2:67;10705:68:13;;;3963:21:67;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:67;;;4103:32;4152:19;;10705:68:13;3779:398:67;10705:68:13;-1:-1:-1;;;;;10784:18:13;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1342:25:67;;;10835:32:13;;1315:18:67;10835:32:13;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:13;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:13;;4384:2:67;11404:68:13;;;4366:21:67;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11404:68:13;4182:353:67;11404:68:13;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:13;;7591:68;;;;-1:-1:-1;;;7591:68:13;;4742:2:67;7591:68:13;;;4724:21:67;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:67;;;4864:35;4916:19;;7591:68:13;4540:401:67;7591:68:13;-1:-1:-1;;;;;7677:16:13;;7669:64;;;;-1:-1:-1;;;7669:64:13;;5148:2:67;7669:64:13;;;5130:21:67;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:67;;;5270:33;5320:19;;7669:64:13;4946:399:67;7669:64:13;-1:-1:-1;;;;;7815:15:13;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:13;;5552:2:67;7840:72:13;;;5534:21:67;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:67;;;5674:36;5727:19;;7840:72:13;5350:402:67;7840:72:13;-1:-1:-1;;;;;7946:15:13;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1342:25:67;;;8161:13:13;;8210:26;;1315:18:67;8210:26:13;;;;;;;8247:37;12180:121;14:548:67;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:67;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:67:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:67:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15",
  "language": "Solidity",
  "natspec": {
    "events": {
      "Approval(address,address,uint256)": {
        "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."
      },
      "Transfer(address,address,uint256)": {
        "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero."
      }
    },
    "kind": "dev",
    "methods": {
      "allowance(address,address)": {
        "details": "See {IERC20-allowance}."
      },
      "approve(address,uint256)": {
        "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."
      },
      "balanceOf(address)": {
        "details": "See {IERC20-balanceOf}."
      },
      "decimals()": {
        "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
      },
      "decreaseAllowance(address,uint256)": {
        "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."
      },
      "increaseAllowance(address,uint256)": {
        "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."
      },
      "name()": {
        "details": "Returns the name of the token."
      },
      "symbol()": {
        "details": "Returns the symbol of the token, usually a shorter version of the name."
      },
      "totalSupply()": {
        "details": "See {IERC20-totalSupply}."
      },
      "transfer(address,uint256)": {
        "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."
      },
      "transferFrom(address,address,uint256)": {
        "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."
      }
    },
    "version": 1
  },
  "offset": [
    1542,
    2074
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x22D JUMPI DUP1 PUSH4 0xF76F8D78 EQ PUSH2 0x240 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0xA3F4DF7E EQ PUSH2 0x1D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x14D JUMPI DUP1 PUSH4 0x2E0F2625 EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x2FF2E9DC EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x18B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x13B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x263 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x75F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH2 0x126 CALLDATASIZE PUSH1 0x4 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x2F5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x12B PUSH2 0x15B CALLDATASIZE PUSH1 0x4 PUSH2 0x7F3 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST PUSH2 0x168 PUSH1 0x6 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x13F PUSH10 0xD3C21BCECCEDA1000000 DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH2 0x168 JUMP JUMPDEST PUSH2 0x12B PUSH2 0x1A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST PUSH2 0x13F PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x82F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x355 JUMP JUMPDEST PUSH2 0x102 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH18 0x54657468657220555344202D2044554D4D59 PUSH1 0x70 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0x12B PUSH2 0x215 CALLDATASIZE PUSH1 0x4 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x364 JUMP JUMPDEST PUSH2 0x12B PUSH2 0x228 CALLDATASIZE PUSH1 0x4 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x3E4 JUMP JUMPDEST PUSH2 0x13F PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x851 JUMP JUMPDEST PUSH2 0x3F2 JUMP JUMPDEST PUSH2 0x102 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH4 0x1554D115 PUSH1 0xE2 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x272 SWAP1 PUSH2 0x884 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x29E SWAP1 PUSH2 0x884 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2CE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x303 DUP2 DUP6 DUP6 PUSH2 0x41D JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x31D DUP6 DUP3 DUP6 PUSH2 0x541 JUMP JUMPDEST PUSH2 0x328 DUP6 DUP6 DUP6 PUSH2 0x5BB JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x303 DUP2 DUP6 DUP6 PUSH2 0x346 DUP4 DUP4 PUSH2 0x3F2 JUMP JUMPDEST PUSH2 0x350 SWAP2 SWAP1 PUSH2 0x8BE JUMP JUMPDEST PUSH2 0x41D JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x272 SWAP1 PUSH2 0x884 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x372 DUP3 DUP7 PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x3D7 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 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x328 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x41D JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x303 DUP2 DUP6 DUP6 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x47F 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 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4E0 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 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x54D DUP5 DUP5 PUSH2 0x3F2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x5B5 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x5A8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3CE JUMP JUMPDEST PUSH2 0x5B5 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x41D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x61F 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 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x681 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x6F9 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 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3CE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x5B5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x78C JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x770 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x7C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7E5 DUP4 PUSH2 0x7AD JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x808 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x811 DUP5 PUSH2 0x7AD JUMP JUMPDEST SWAP3 POP PUSH2 0x81F PUSH1 0x20 DUP6 ADD PUSH2 0x7AD JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x841 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x84A DUP3 PUSH2 0x7AD JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x864 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x86D DUP4 PUSH2 0x7AD JUMP JUMPDEST SWAP2 POP PUSH2 0x87B PUSH1 0x20 DUP5 ADD PUSH2 0x7AD JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x898 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x8B8 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x309 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF CODECOPY 0xB6 RETURNDATACOPY 0xC 0xC2 0x49 ADDRESS 0xB8 SLT 0xE1 DIFFICULTY LOG3 SWAP4 0x29 CALLVALUE 0xE5 0xB4 AND LOG0 COINBASE PUSH10 0x5C02048FD289F89616FA PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ",
  "pcMap": {
    "0": {
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "MSTORE",
      "path": "64"
    },
    "5": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "CALLVALUE",
      "path": "64"
    },
    "6": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "7": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "ISZERO",
      "path": "64"
    },
    "8": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "12": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "REVERT",
      "path": "64"
    },
    "16": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "17": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "POP",
      "path": "64"
    },
    "18": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "CALLDATASIZE",
      "path": "64"
    },
    "21": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "LT",
      "path": "64"
    },
    "22": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0xF5"
    },
    "25": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "26": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "CALLDATALOAD",
      "path": "64"
    },
    "29": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "SHR",
      "path": "64"
    },
    "32": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "33": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x39509351"
    },
    "38": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "GT",
      "path": "64"
    },
    "39": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x97"
    },
    "42": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "43": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "44": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0xA457C2D7"
    },
    "49": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "GT",
      "path": "64"
    },
    "50": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x66"
    },
    "53": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "54": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "55": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0xA457C2D7"
    },
    "60": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "61": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x207"
    },
    "64": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "65": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "66": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0xA9059CBB"
    },
    "71": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "72": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x21A"
    },
    "75": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "76": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "77": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0xDD62ED3E"
    },
    "82": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "83": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x22D"
    },
    "86": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "87": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "88": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0xF76F8D78"
    },
    "93": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "94": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x240"
    },
    "97": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "98": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x0"
    },
    "100": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "101": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "REVERT",
      "path": "64"
    },
    "102": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "103": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "104": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x39509351"
    },
    "109": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "110": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x192"
    },
    "113": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "114": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "115": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x70A08231"
    },
    "120": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "121": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x1A5"
    },
    "124": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "125": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "126": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x95D89B41"
    },
    "131": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "132": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x1CE"
    },
    "135": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "136": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "137": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0xA3F4DF7E"
    },
    "142": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "143": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x1D6"
    },
    "146": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "147": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x0"
    },
    "149": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "150": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "REVERT",
      "path": "64"
    },
    "151": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "152": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "153": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x23B872DD"
    },
    "158": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "GT",
      "path": "64"
    },
    "159": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0xD3"
    },
    "162": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "163": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "164": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x23B872DD"
    },
    "169": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "170": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x14D"
    },
    "173": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "174": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "175": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x2E0F2625"
    },
    "180": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "181": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x160"
    },
    "184": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "185": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "186": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x2FF2E9DC"
    },
    "191": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "192": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x17A"
    },
    "195": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "196": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "197": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x313CE567"
    },
    "202": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "203": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x18B"
    },
    "206": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "207": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x0"
    },
    "209": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "210": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "REVERT",
      "path": "64"
    },
    "211": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "212": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "213": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x6FDDE03"
    },
    "218": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "219": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0xFA"
    },
    "222": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "223": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "224": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x95EA7B3"
    },
    "229": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "230": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x118"
    },
    "233": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "234": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "235": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH4",
      "path": "64",
      "value": "0x18160DDD"
    },
    "240": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "EQ",
      "path": "64"
    },
    "241": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x13B"
    },
    "244": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPI",
      "path": "64"
    },
    "245": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "246": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x0"
    },
    "248": {
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "DUP1",
      "path": "64"
    },
    "249": {
      "first_revert": true,
      "fn": null,
      "offset": [
        1542,
        2074
      ],
      "op": "REVERT",
      "path": "64"
    },
    "250": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "251": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x102"
    },
    "254": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x263"
    },
    "257": {
      "fn": "ERC20.name",
      "jump": "i",
      "offset": [
        2154,
        2252
      ],
      "op": "JUMP",
      "path": "13"
    },
    "258": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "259": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "261": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "262": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x10F"
    },
    "265": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "266": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "267": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x75F"
    },
    "270": {
      "fn": "ERC20.name",
      "jump": "i",
      "offset": [
        2154,
        2252
      ],
      "op": "JUMP",
      "path": "13"
    },
    "271": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "272": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "274": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "275": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "DUP1",
      "path": "13"
    },
    "276": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "277": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "SUB",
      "path": "13"
    },
    "278": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "279": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "RETURN",
      "path": "13"
    },
    "280": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "281": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x12B"
    },
    "284": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x126"
    },
    "287": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "CALLDATASIZE",
      "path": "13"
    },
    "288": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "290": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x7C9"
    },
    "293": {
      "fn": "ERC20.approve",
      "jump": "i",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMP",
      "path": "13"
    },
    "294": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "295": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x2F5"
    },
    "298": {
      "fn": "ERC20.approve",
      "jump": "i",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMP",
      "path": "13"
    },
    "299": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "300": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "302": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "303": {
      "op": "SWAP1"
    },
    "304": {
      "op": "ISZERO"
    },
    "305": {
      "op": "ISZERO"
    },
    "306": {
      "op": "DUP2"
    },
    "307": {
      "op": "MSTORE"
    },
    "308": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "310": {
      "op": "ADD"
    },
    "311": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x10F"
    },
    "314": {
      "op": "JUMP"
    },
    "315": {
      "fn": "ERC20.totalSupply",
      "offset": [
        3242,
        3348
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "316": {
      "fn": "ERC20.totalSupply",
      "offset": [
        3329,
        3341
      ],
      "op": "PUSH1",
      "path": "13",
      "statement": 0,
      "value": "0x2"
    },
    "318": {
      "fn": "ERC20.totalSupply",
      "offset": [
        3329,
        3341
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "319": {
      "fn": "ERC20.totalSupply",
      "offset": [
        3242,
        3348
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "320": {
      "fn": "ERC20.totalSupply",
      "offset": [
        3242,
        3348
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "322": {
      "fn": "ERC20.totalSupply",
      "offset": [
        3242,
        3348
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "323": {
      "op": "SWAP1"
    },
    "324": {
      "op": "DUP2"
    },
    "325": {
      "op": "MSTORE"
    },
    "326": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "328": {
      "op": "ADD"
    },
    "329": {
      "fn": "ERC20.totalSupply",
      "offset": [
        3242,
        3348
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x10F"
    },
    "332": {
      "op": "JUMP"
    },
    "333": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "334": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x12B"
    },
    "337": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x15B"
    },
    "340": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "CALLDATASIZE",
      "path": "13"
    },
    "341": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "343": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x7F3"
    },
    "346": {
      "fn": "ERC20.transferFrom",
      "jump": "i",
      "offset": [
        5190,
        5476
      ],
      "op": "JUMP",
      "path": "13"
    },
    "347": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "348": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x30F"
    },
    "351": {
      "fn": "ERC20.transferFrom",
      "jump": "i",
      "offset": [
        5190,
        5476
      ],
      "op": "JUMP",
      "path": "13"
    },
    "352": {
      "offset": [
        1751,
        1785
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "353": {
      "fn": "ERC20.transferFrom",
      "offset": [
        1751,
        1785
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x168"
    },
    "356": {
      "offset": [
        1784,
        1785
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x6"
    },
    "358": {
      "offset": [
        1751,
        1785
      ],
      "op": "DUP2",
      "path": "64"
    },
    "359": {
      "fn": "ERC20.transferFrom",
      "offset": [
        1751,
        1785
      ],
      "op": "JUMP",
      "path": "64"
    },
    "360": {
      "fn": "ERC20.transferFrom",
      "offset": [
        1751,
        1785
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "361": {
      "fn": "ERC20.transferFrom",
      "offset": [
        1751,
        1785
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "363": {
      "fn": "ERC20.transferFrom",
      "offset": [
        1751,
        1785
      ],
      "op": "MLOAD",
      "path": "64"
    },
    "364": {
      "op": "PUSH1",
      "value": "0xFF"
    },
    "366": {
      "op": "SWAP1"
    },
    "367": {
      "op": "SWAP2"
    },
    "368": {
      "op": "AND"
    },
    "369": {
      "op": "DUP2"
    },
    "370": {
      "op": "MSTORE"
    },
    "371": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "373": {
      "op": "ADD"
    },
    "374": {
      "offset": [
        1751,
        1785
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x10F"
    },
    "377": {
      "op": "JUMP"
    },
    "378": {
      "offset": [
        1792,
        1839
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "379": {
      "fn": "ERC20.transferFrom",
      "offset": [
        1792,
        1839
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x13F"
    },
    "382": {
      "offset": [
        1833,
        1839
      ],
      "op": "PUSH10",
      "path": "64",
      "value": "0xD3C21BCECCEDA1000000"
    },
    "393": {
      "offset": [
        1792,
        1839
      ],
      "op": "DUP2",
      "path": "64"
    },
    "394": {
      "fn": "ERC20.transferFrom",
      "offset": [
        1792,
        1839
      ],
      "op": "JUMP",
      "path": "64"
    },
    "395": {
      "fn": "USD2.decimals",
      "offset": [
        1984,
        2072
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "396": {
      "offset": [
        1784,
        1785
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x6"
    },
    "398": {
      "fn": "USD2.decimals",
      "offset": [
        1984,
        2072
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x168"
    },
    "401": {
      "fn": "USD2.decimals",
      "offset": [
        1984,
        2072
      ],
      "op": "JUMP",
      "path": "64"
    },
    "402": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "403": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x12B"
    },
    "406": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x1A0"
    },
    "409": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "CALLDATASIZE",
      "path": "13"
    },
    "410": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "412": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x7C9"
    },
    "415": {
      "fn": "ERC20.increaseAllowance",
      "jump": "i",
      "offset": [
        5871,
        6105
      ],
      "op": "JUMP",
      "path": "13"
    },
    "416": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "417": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x333"
    },
    "420": {
      "fn": "ERC20.increaseAllowance",
      "jump": "i",
      "offset": [
        5871,
        6105
      ],
      "op": "JUMP",
      "path": "13"
    },
    "421": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "422": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x13F"
    },
    "425": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x1B3"
    },
    "428": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "CALLDATASIZE",
      "path": "13"
    },
    "429": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "431": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x82F"
    },
    "434": {
      "fn": "ERC20.balanceOf",
      "jump": "i",
      "offset": [
        3406,
        3531
      ],
      "op": "JUMP",
      "path": "13"
    },
    "435": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "436": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "438": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "440": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "442": {
      "op": "SHL"
    },
    "443": {
      "op": "SUB"
    },
    "444": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "AND",
      "path": "13",
      "statement": 1
    },
    "445": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3480,
        3487
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "447": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "448": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "DUP2",
      "path": "13"
    },
    "449": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "450": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "452": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "DUP2",
      "path": "13"
    },
    "453": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "454": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "455": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "457": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "458": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "459": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "460": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3506,
        3524
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "461": {
      "fn": "ERC20.balanceOf",
      "offset": [
        3406,
        3531
      ],
      "op": "JUMP",
      "path": "13"
    },
    "462": {
      "fn": "ERC20.symbol",
      "offset": [
        2365,
        2467
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "463": {
      "fn": "ERC20.symbol",
      "offset": [
        2365,
        2467
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x102"
    },
    "466": {
      "fn": "ERC20.symbol",
      "offset": [
        2365,
        2467
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x355"
    },
    "469": {
      "fn": "ERC20.symbol",
      "jump": "i",
      "offset": [
        2365,
        2467
      ],
      "op": "JUMP",
      "path": "13"
    },
    "470": {
      "offset": [
        1651,
        1701
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "471": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x102"
    },
    "474": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "476": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "MLOAD",
      "path": "64"
    },
    "477": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "DUP1",
      "path": "64"
    },
    "478": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "480": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "ADD",
      "path": "64"
    },
    "481": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "483": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "MSTORE",
      "path": "64"
    },
    "484": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "DUP1",
      "path": "64"
    },
    "485": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x12"
    },
    "487": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "DUP2",
      "path": "64"
    },
    "488": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "MSTORE",
      "path": "64"
    },
    "489": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x20"
    },
    "491": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "ADD",
      "path": "64"
    },
    "492": {
      "op": "PUSH18",
      "value": "0x54657468657220555344202D2044554D4D59"
    },
    "511": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "513": {
      "op": "SHL"
    },
    "514": {
      "offset": [
        1651,
        1701
      ],
      "op": "DUP2",
      "path": "64"
    },
    "515": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "MSTORE",
      "path": "64"
    },
    "516": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "POP",
      "path": "64"
    },
    "517": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "DUP2",
      "path": "64"
    },
    "518": {
      "fn": "ERC20.symbol",
      "offset": [
        1651,
        1701
      ],
      "op": "JUMP",
      "path": "64"
    },
    "519": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "520": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x12B"
    },
    "523": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x215"
    },
    "526": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "CALLDATASIZE",
      "path": "13"
    },
    "527": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "529": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x7C9"
    },
    "532": {
      "fn": "ERC20.decreaseAllowance",
      "jump": "i",
      "offset": [
        6592,
        7019
      ],
      "op": "JUMP",
      "path": "13"
    },
    "533": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "534": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x364"
    },
    "537": {
      "fn": "ERC20.decreaseAllowance",
      "jump": "i",
      "offset": [
        6592,
        7019
      ],
      "op": "JUMP",
      "path": "13"
    },
    "538": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "539": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x12B"
    },
    "542": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x228"
    },
    "545": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "CALLDATASIZE",
      "path": "13"
    },
    "546": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "548": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x7C9"
    },
    "551": {
      "fn": "ERC20.transfer",
      "jump": "i",
      "offset": [
        3727,
        3916
      ],
      "op": "JUMP",
      "path": "13"
    },
    "552": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "553": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3E4"
    },
    "556": {
      "fn": "ERC20.transfer",
      "jump": "i",
      "offset": [
        3727,
        3916
      ],
      "op": "JUMP",
      "path": "13"
    },
    "557": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "558": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x13F"
    },
    "561": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x23B"
    },
    "564": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "CALLDATASIZE",
      "path": "13"
    },
    "565": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "567": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x851"
    },
    "570": {
      "fn": "ERC20.allowance",
      "jump": "i",
      "offset": [
        3974,
        4123
      ],
      "op": "JUMP",
      "path": "13"
    },
    "571": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "572": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3F2"
    },
    "575": {
      "fn": "ERC20.allowance",
      "jump": "i",
      "offset": [
        3974,
        4123
      ],
      "op": "JUMP",
      "path": "13"
    },
    "576": {
      "offset": [
        1707,
        1745
      ],
      "op": "JUMPDEST",
      "path": "64"
    },
    "577": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "PUSH2",
      "path": "64",
      "value": "0x102"
    },
    "580": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "582": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "MLOAD",
      "path": "64"
    },
    "583": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "DUP1",
      "path": "64"
    },
    "584": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "586": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "ADD",
      "path": "64"
    },
    "587": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x40"
    },
    "589": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "MSTORE",
      "path": "64"
    },
    "590": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "DUP1",
      "path": "64"
    },
    "591": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x4"
    },
    "593": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "DUP2",
      "path": "64"
    },
    "594": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "MSTORE",
      "path": "64"
    },
    "595": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "PUSH1",
      "path": "64",
      "value": "0x20"
    },
    "597": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "ADD",
      "path": "64"
    },
    "598": {
      "op": "PUSH4",
      "value": "0x1554D115"
    },
    "603": {
      "op": "PUSH1",
      "value": "0xE2"
    },
    "605": {
      "op": "SHL"
    },
    "606": {
      "offset": [
        1707,
        1745
      ],
      "op": "DUP2",
      "path": "64"
    },
    "607": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "MSTORE",
      "path": "64"
    },
    "608": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "POP",
      "path": "64"
    },
    "609": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "DUP2",
      "path": "64"
    },
    "610": {
      "fn": "ERC20.allowance",
      "offset": [
        1707,
        1745
      ],
      "op": "JUMP",
      "path": "64"
    },
    "611": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "612": {
      "fn": "ERC20.name",
      "offset": [
        2208,
        2221
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x60"
    },
    "614": {
      "fn": "ERC20.name",
      "offset": [
        2240,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "statement": 2,
      "value": "0x3"
    },
    "616": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "617": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "618": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x272"
    },
    "621": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "622": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x884"
    },
    "625": {
      "fn": "ERC20.name",
      "jump": "i",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMP",
      "path": "13"
    },
    "626": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "627": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "628": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x1F"
    },
    "630": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "631": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "633": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "634": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "635": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DIV",
      "path": "13"
    },
    "636": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MUL",
      "path": "13"
    },
    "637": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "639": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "640": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "642": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "643": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "644": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP2",
      "path": "13"
    },
    "645": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "646": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "648": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "649": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "650": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP3",
      "path": "13"
    },
    "651": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "652": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "653": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP2",
      "path": "13"
    },
    "654": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP2",
      "path": "13"
    },
    "655": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "656": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "658": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "659": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP3",
      "path": "13"
    },
    "660": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "661": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "662": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x29E"
    },
    "665": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "666": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x884"
    },
    "669": {
      "fn": "ERC20.name",
      "jump": "i",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMP",
      "path": "13"
    },
    "670": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "671": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "672": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ISZERO",
      "path": "13"
    },
    "673": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x2EB"
    },
    "676": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "677": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "678": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x1F"
    },
    "680": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "LT",
      "path": "13"
    },
    "681": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x2C0"
    },
    "684": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "685": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x100"
    },
    "688": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "689": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP4",
      "path": "13"
    },
    "690": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "691": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DIV",
      "path": "13"
    },
    "692": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MUL",
      "path": "13"
    },
    "693": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP4",
      "path": "13"
    },
    "694": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "695": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "696": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "698": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "699": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "700": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x2EB"
    },
    "703": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMP",
      "path": "13"
    },
    "704": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "705": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP3",
      "path": "13"
    },
    "706": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "707": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "708": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "709": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "711": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "712": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "714": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "716": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "717": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "718": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "719": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP2",
      "path": "13"
    },
    "720": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "721": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP2",
      "path": "13"
    },
    "722": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "723": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "724": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x1"
    },
    "726": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "727": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "728": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "730": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "731": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP1",
      "path": "13"
    },
    "732": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP4",
      "path": "13"
    },
    "733": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "GT",
      "path": "13"
    },
    "734": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x2CE"
    },
    "737": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "738": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP3",
      "path": "13"
    },
    "739": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "740": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SUB",
      "path": "13"
    },
    "741": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x1F"
    },
    "743": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "AND",
      "path": "13"
    },
    "744": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "DUP3",
      "path": "13"
    },
    "745": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "ADD",
      "path": "13"
    },
    "746": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "747": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "748": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "POP",
      "path": "13"
    },
    "749": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "POP",
      "path": "13"
    },
    "750": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "POP",
      "path": "13"
    },
    "751": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "POP",
      "path": "13"
    },
    "752": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "POP",
      "path": "13"
    },
    "753": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "754": {
      "fn": "ERC20.name",
      "offset": [
        2233,
        2245
      ],
      "op": "POP",
      "path": "13"
    },
    "755": {
      "fn": "ERC20.name",
      "offset": [
        2154,
        2252
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "756": {
      "fn": "ERC20.name",
      "jump": "o",
      "offset": [
        2154,
        2252
      ],
      "op": "JUMP",
      "path": "13"
    },
    "757": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "758": {
      "fn": "ERC20.approve",
      "offset": [
        4514,
        4518
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "760": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "23",
      "statement": 3
    },
    "761": {
      "fn": "ERC20.approve",
      "offset": [
        4568,
        4600
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 4,
      "value": "0x303"
    },
    "764": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "DUP2",
      "path": "23"
    },
    "765": {
      "fn": "ERC20.approve",
      "offset": [
        4584,
        4591
      ],
      "op": "DUP6",
      "path": "13"
    },
    "766": {
      "fn": "ERC20.approve",
      "offset": [
        4593,
        4599
      ],
      "op": "DUP6",
      "path": "13"
    },
    "767": {
      "fn": "ERC20.approve",
      "offset": [
        4568,
        4576
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x41D"
    },
    "770": {
      "fn": "ERC20.approve",
      "jump": "i",
      "offset": [
        4568,
        4600
      ],
      "op": "JUMP",
      "path": "13"
    },
    "771": {
      "fn": "ERC20.approve",
      "offset": [
        4568,
        4600
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "772": {
      "fn": "ERC20.approve",
      "offset": [
        4617,
        4621
      ],
      "op": "PUSH1",
      "path": "13",
      "statement": 5,
      "value": "0x1"
    },
    "774": {
      "fn": "ERC20.approve",
      "offset": [
        4610,
        4621
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "775": {
      "fn": "ERC20.approve",
      "offset": [
        4610,
        4621
      ],
      "op": "POP",
      "path": "13"
    },
    "776": {
      "fn": "ERC20.approve",
      "offset": [
        4610,
        4621
      ],
      "op": "POP",
      "path": "13"
    },
    "777": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "778": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "SWAP3",
      "path": "13"
    },
    "779": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "780": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "POP",
      "path": "13"
    },
    "781": {
      "fn": "ERC20.approve",
      "offset": [
        4431,
        4628
      ],
      "op": "POP",
      "path": "13"
    },
    "782": {
      "fn": "ERC20.approve",
      "jump": "o",
      "offset": [
        4431,
        4628
      ],
      "op": "JUMP",
      "path": "13"
    },
    "783": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "784": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5317,
        5321
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "786": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "23"
    },
    "787": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5373,
        5411
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 6,
      "value": "0x31D"
    },
    "790": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5389,
        5393
      ],
      "op": "DUP6",
      "path": "13"
    },
    "791": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "DUP3",
      "path": "23"
    },
    "792": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5404,
        5410
      ],
      "op": "DUP6",
      "path": "13"
    },
    "793": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5373,
        5388
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x541"
    },
    "796": {
      "fn": "ERC20.transferFrom",
      "jump": "i",
      "offset": [
        5373,
        5411
      ],
      "op": "JUMP",
      "path": "13"
    },
    "797": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5373,
        5411
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "798": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5421,
        5448
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 7,
      "value": "0x328"
    },
    "801": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5431,
        5435
      ],
      "op": "DUP6",
      "path": "13"
    },
    "802": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5437,
        5439
      ],
      "op": "DUP6",
      "path": "13"
    },
    "803": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5441,
        5447
      ],
      "op": "DUP6",
      "path": "13"
    },
    "804": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5421,
        5430
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x5BB"
    },
    "807": {
      "fn": "ERC20.transferFrom",
      "jump": "i",
      "offset": [
        5421,
        5448
      ],
      "op": "JUMP",
      "path": "13"
    },
    "808": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5421,
        5448
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "809": {
      "op": "POP"
    },
    "810": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5465,
        5469
      ],
      "op": "PUSH1",
      "path": "13",
      "statement": 8,
      "value": "0x1"
    },
    "812": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5465,
        5469
      ],
      "op": "SWAP5",
      "path": "13"
    },
    "813": {
      "fn": "ERC20.transferFrom",
      "offset": [
        5190,
        5476
      ],
      "op": "SWAP4",
      "path": "13"
    },
    "814": {
      "op": "POP"
    },
    "815": {
      "op": "POP"
    },
    "816": {
      "op": "POP"
    },
    "817": {
      "op": "POP"
    },
    "818": {
      "fn": "ERC20.transferFrom",
      "jump": "o",
      "offset": [
        5190,
        5476
      ],
      "op": "JUMP",
      "path": "13"
    },
    "819": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5871,
        6105
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "820": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        5959,
        5963
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "822": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "23"
    },
    "823": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6013,
        6077
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 9,
      "value": "0x303"
    },
    "826": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "DUP2",
      "path": "23"
    },
    "827": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6029,
        6036
      ],
      "op": "DUP6",
      "path": "13"
    },
    "828": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6066,
        6076
      ],
      "op": "DUP6",
      "path": "13"
    },
    "829": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6063
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x346"
    },
    "832": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "DUP4",
      "path": "23"
    },
    "833": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6029,
        6036
      ],
      "op": "DUP4",
      "path": "13"
    },
    "834": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6047
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3F2"
    },
    "837": {
      "fn": "ERC20.increaseAllowance",
      "jump": "i",
      "offset": [
        6038,
        6063
      ],
      "op": "JUMP",
      "path": "13"
    },
    "838": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6063
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "839": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6076
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x350"
    },
    "842": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6076
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "843": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6076
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "844": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6076
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x8BE"
    },
    "847": {
      "fn": "ERC20.increaseAllowance",
      "jump": "i",
      "offset": [
        6038,
        6076
      ],
      "op": "JUMP",
      "path": "13"
    },
    "848": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6038,
        6076
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "849": {
      "fn": "ERC20.increaseAllowance",
      "offset": [
        6013,
        6021
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x41D"
    },
    "852": {
      "fn": "ERC20.increaseAllowance",
      "jump": "i",
      "offset": [
        6013,
        6077
      ],
      "op": "JUMP",
      "path": "13"
    },
    "853": {
      "fn": "ERC20.symbol",
      "offset": [
        2365,
        2467
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "854": {
      "fn": "ERC20.symbol",
      "offset": [
        2421,
        2434
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x60"
    },
    "856": {
      "fn": "ERC20.symbol",
      "offset": [
        2453,
        2460
      ],
      "op": "PUSH1",
      "path": "13",
      "statement": 10,
      "value": "0x4"
    },
    "858": {
      "fn": "ERC20.symbol",
      "offset": [
        2446,
        2460
      ],
      "op": "DUP1",
      "path": "13"
    },
    "859": {
      "fn": "ERC20.symbol",
      "offset": [
        2446,
        2460
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "860": {
      "fn": "ERC20.symbol",
      "offset": [
        2446,
        2460
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x272"
    },
    "863": {
      "fn": "ERC20.symbol",
      "offset": [
        2446,
        2460
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "864": {
      "fn": "ERC20.symbol",
      "offset": [
        2446,
        2460
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x884"
    },
    "867": {
      "fn": "ERC20.symbol",
      "jump": "i",
      "offset": [
        2446,
        2460
      ],
      "op": "JUMP",
      "path": "13"
    },
    "868": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6592,
        7019
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "869": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6685,
        6689
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "871": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "23"
    },
    "872": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6685,
        6689
      ],
      "op": "DUP2",
      "path": "13"
    },
    "873": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6766,
        6791
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x372"
    },
    "876": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "DUP3",
      "path": "23"
    },
    "877": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6783,
        6790
      ],
      "op": "DUP7",
      "path": "13"
    },
    "878": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6766,
        6775
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3F2"
    },
    "881": {
      "fn": "ERC20.decreaseAllowance",
      "jump": "i",
      "offset": [
        6766,
        6791
      ],
      "op": "JUMP",
      "path": "13"
    },
    "882": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6766,
        6791
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "883": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6739,
        6791
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "884": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6739,
        6791
      ],
      "op": "POP",
      "path": "13"
    },
    "885": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6829,
        6844
      ],
      "op": "DUP4",
      "path": "13",
      "statement": 11
    },
    "886": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6809,
        6825
      ],
      "op": "DUP2",
      "path": "13"
    },
    "887": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6809,
        6844
      ],
      "op": "LT",
      "path": "13"
    },
    "888": {
      "branch": 28,
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6809,
        6844
      ],
      "op": "ISZERO",
      "path": "13"
    },
    "889": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3D7"
    },
    "892": {
      "branch": 28,
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "893": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "895": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "896": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "900": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "902": {
      "op": "SHL"
    },
    "903": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "DUP2",
      "path": "13"
    },
    "904": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "905": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "907": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "909": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "DUP3",
      "path": "13"
    },
    "910": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "ADD",
      "path": "13"
    },
    "911": {
      "op": "MSTORE"
    },
    "912": {
      "op": "PUSH1",
      "value": "0x25"
    },
    "914": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "916": {
      "op": "DUP3"
    },
    "917": {
      "op": "ADD"
    },
    "918": {
      "op": "MSTORE"
    },
    "919": {
      "op": "PUSH32",
      "value": "0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77"
    },
    "952": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "954": {
      "op": "DUP3"
    },
    "955": {
      "op": "ADD"
    },
    "956": {
      "op": "MSTORE"
    },
    "957": {
      "op": "PUSH5",
      "value": "0x207A65726F"
    },
    "963": {
      "op": "PUSH1",
      "value": "0xD8"
    },
    "965": {
      "op": "SHL"
    },
    "966": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "968": {
      "op": "DUP3"
    },
    "969": {
      "op": "ADD"
    },
    "970": {
      "op": "MSTORE"
    },
    "971": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "973": {
      "op": "ADD"
    },
    "974": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "975": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "977": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "978": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "DUP1",
      "path": "13"
    },
    "979": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "980": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "SUB",
      "path": "13"
    },
    "981": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "982": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "REVERT",
      "optimizer_revert": true,
      "path": "13"
    },
    "983": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6801,
        6886
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "984": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6920,
        6980
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 12,
      "value": "0x328"
    },
    "987": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6929,
        6934
      ],
      "op": "DUP3",
      "path": "13"
    },
    "988": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6936,
        6943
      ],
      "op": "DUP7",
      "path": "13"
    },
    "989": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6964,
        6979
      ],
      "op": "DUP7",
      "path": "13"
    },
    "990": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6945,
        6961
      ],
      "op": "DUP5",
      "path": "13"
    },
    "991": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6945,
        6979
      ],
      "op": "SUB",
      "path": "13"
    },
    "992": {
      "fn": "ERC20.decreaseAllowance",
      "offset": [
        6920,
        6928
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x41D"
    },
    "995": {
      "fn": "ERC20.decreaseAllowance",
      "jump": "i",
      "offset": [
        6920,
        6980
      ],
      "op": "JUMP",
      "path": "13"
    },
    "996": {
      "fn": "ERC20.transfer",
      "offset": [
        3727,
        3916
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "997": {
      "fn": "ERC20.transfer",
      "offset": [
        3806,
        3810
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "999": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "CALLER",
      "path": "23"
    },
    "1000": {
      "fn": "ERC20.transfer",
      "offset": [
        3860,
        3888
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 13,
      "value": "0x303"
    },
    "1003": {
      "fn": "Context._msgSender",
      "offset": [
        719,
        729
      ],
      "op": "DUP2",
      "path": "23"
    },
    "1004": {
      "fn": "ERC20.transfer",
      "offset": [
        3877,
        3879
      ],
      "op": "DUP6",
      "path": "13"
    },
    "1005": {
      "fn": "ERC20.transfer",
      "offset": [
        3881,
        3887
      ],
      "op": "DUP6",
      "path": "13"
    },
    "1006": {
      "fn": "ERC20.transfer",
      "offset": [
        3860,
        3869
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x5BB"
    },
    "1009": {
      "fn": "ERC20.transfer",
      "jump": "i",
      "offset": [
        3860,
        3888
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1010": {
      "fn": "ERC20.allowance",
      "offset": [
        3974,
        4123
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1011": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1013": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1015": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1017": {
      "op": "SHL"
    },
    "1018": {
      "op": "SUB"
    },
    "1019": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "SWAP2",
      "path": "13",
      "statement": 14
    },
    "1020": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1021": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "AND",
      "path": "13"
    },
    "1022": {
      "fn": "ERC20.allowance",
      "offset": [
        4063,
        4070
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "1024": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1025": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1026": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1027": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4100
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x1"
    },
    "1029": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1031": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1032": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1033": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1034": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1036": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1037": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "DUP4",
      "path": "13"
    },
    "1038": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4107
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "1039": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SWAP4",
      "path": "13"
    },
    "1040": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1041": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SWAP5",
      "path": "13"
    },
    "1042": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "AND",
      "path": "13"
    },
    "1043": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1044": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1045": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1046": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1047": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1048": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1049": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "1050": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "1051": {
      "fn": "ERC20.allowance",
      "offset": [
        4089,
        4116
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1052": {
      "fn": "ERC20.allowance",
      "jump": "o",
      "offset": [
        3974,
        4123
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1053": {
      "fn": "ERC20._approve",
      "offset": [
        10504,
        10874
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1054": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1056": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1058": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1060": {
      "op": "SHL"
    },
    "1061": {
      "op": "SUB"
    },
    "1062": {
      "fn": "ERC20._approve",
      "offset": [
        10635,
        10654
      ],
      "op": "DUP4",
      "path": "13",
      "statement": 15
    },
    "1063": {
      "branch": 29,
      "fn": "ERC20._approve",
      "offset": [
        10635,
        10654
      ],
      "op": "AND",
      "path": "13"
    },
    "1064": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x47F"
    },
    "1067": {
      "branch": 29,
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1068": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1070": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1071": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1075": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1077": {
      "op": "SHL"
    },
    "1078": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1079": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1080": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1082": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "1084": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1085": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "ADD",
      "path": "13"
    },
    "1086": {
      "op": "MSTORE"
    },
    "1087": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1089": {
      "op": "DUP1"
    },
    "1090": {
      "op": "DUP3"
    },
    "1091": {
      "op": "ADD"
    },
    "1092": {
      "op": "MSTORE"
    },
    "1093": {
      "op": "PUSH32",
      "value": "0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464"
    },
    "1126": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1128": {
      "op": "DUP3"
    },
    "1129": {
      "op": "ADD"
    },
    "1130": {
      "op": "MSTORE"
    },
    "1131": {
      "op": "PUSH4",
      "value": "0x72657373"
    },
    "1136": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1138": {
      "op": "SHL"
    },
    "1139": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1141": {
      "op": "DUP3"
    },
    "1142": {
      "op": "ADD"
    },
    "1143": {
      "op": "MSTORE"
    },
    "1144": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1146": {
      "op": "ADD"
    },
    "1147": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3CE"
    },
    "1150": {
      "op": "JUMP"
    },
    "1151": {
      "fn": "ERC20._approve",
      "offset": [
        10627,
        10695
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1152": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1154": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1156": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1158": {
      "op": "SHL"
    },
    "1159": {
      "op": "SUB"
    },
    "1160": {
      "fn": "ERC20._approve",
      "offset": [
        10713,
        10734
      ],
      "op": "DUP3",
      "path": "13",
      "statement": 16
    },
    "1161": {
      "branch": 30,
      "fn": "ERC20._approve",
      "offset": [
        10713,
        10734
      ],
      "op": "AND",
      "path": "13"
    },
    "1162": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x4E0"
    },
    "1165": {
      "branch": 30,
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1166": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1168": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1169": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1173": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1175": {
      "op": "SHL"
    },
    "1176": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1177": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1178": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1180": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "1182": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1183": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "ADD",
      "path": "13"
    },
    "1184": {
      "op": "MSTORE"
    },
    "1185": {
      "op": "PUSH1",
      "value": "0x22"
    },
    "1187": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1189": {
      "op": "DUP3"
    },
    "1190": {
      "op": "ADD"
    },
    "1191": {
      "op": "MSTORE"
    },
    "1192": {
      "op": "PUSH32",
      "value": "0x45524332303A20617070726F766520746F20746865207A65726F206164647265"
    },
    "1225": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1227": {
      "op": "DUP3"
    },
    "1228": {
      "op": "ADD"
    },
    "1229": {
      "op": "MSTORE"
    },
    "1230": {
      "op": "PUSH2",
      "value": "0x7373"
    },
    "1233": {
      "op": "PUSH1",
      "value": "0xF0"
    },
    "1235": {
      "op": "SHL"
    },
    "1236": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1238": {
      "op": "DUP3"
    },
    "1239": {
      "op": "ADD"
    },
    "1240": {
      "op": "MSTORE"
    },
    "1241": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1243": {
      "op": "ADD"
    },
    "1244": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3CE"
    },
    "1247": {
      "op": "JUMP"
    },
    "1248": {
      "fn": "ERC20._approve",
      "offset": [
        10705,
        10773
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1249": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1251": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1253": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1255": {
      "op": "SHL"
    },
    "1256": {
      "op": "SUB"
    },
    "1257": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "DUP4",
      "path": "13",
      "statement": 17
    },
    "1258": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1259": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "AND",
      "path": "13"
    },
    "1260": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "1262": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1263": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1264": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1265": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10795
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x1"
    },
    "1267": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1269": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1270": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1271": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1272": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1274": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1275": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "DUP4",
      "path": "13"
    },
    "1276": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10802
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "1277": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "SWAP5",
      "path": "13"
    },
    "1278": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "DUP8",
      "path": "13"
    },
    "1279": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "AND",
      "path": "13"
    },
    "1280": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1281": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1282": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1283": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "SWAP5",
      "path": "13"
    },
    "1284": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1285": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1286": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1287": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1288": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1289": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10811
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "1290": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10820
      ],
      "op": "DUP6",
      "path": "13"
    },
    "1291": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10820
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1292": {
      "fn": "ERC20._approve",
      "offset": [
        10784,
        10820
      ],
      "op": "SSTORE",
      "path": "13"
    },
    "1293": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "SWAP1",
      "path": "13",
      "statement": 18
    },
    "1294": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1295": {
      "op": "DUP5"
    },
    "1296": {
      "op": "DUP2"
    },
    "1297": {
      "op": "MSTORE"
    },
    "1298": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "PUSH32",
      "path": "13",
      "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925"
    },
    "1331": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1332": {
      "op": "ADD"
    },
    "1333": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1335": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1336": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1337": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1338": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "SUB",
      "path": "13"
    },
    "1339": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1340": {
      "fn": "ERC20._approve",
      "offset": [
        10835,
        10867
      ],
      "op": "LOG3",
      "path": "13"
    },
    "1341": {
      "fn": "ERC20._approve",
      "offset": [
        10504,
        10874
      ],
      "op": "POP",
      "path": "13"
    },
    "1342": {
      "fn": "ERC20._approve",
      "offset": [
        10504,
        10874
      ],
      "op": "POP",
      "path": "13"
    },
    "1343": {
      "fn": "ERC20._approve",
      "offset": [
        10504,
        10874
      ],
      "op": "POP",
      "path": "13"
    },
    "1344": {
      "fn": "ERC20._approve",
      "jump": "o",
      "offset": [
        10504,
        10874
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1345": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11155,
        11596
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1346": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11285,
        11309
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "1348": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11312,
        11337
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x54D"
    },
    "1351": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11322,
        11327
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1352": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11329,
        11336
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1353": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11312,
        11321
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3F2"
    },
    "1356": {
      "fn": "ERC20._spendAllowance",
      "jump": "i",
      "offset": [
        11312,
        11337
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1357": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11312,
        11337
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1358": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11285,
        11337
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1359": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11285,
        11337
      ],
      "op": "POP",
      "path": "13"
    },
    "1360": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1362": {
      "op": "NOT"
    },
    "1363": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11351,
        11367
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1364": {
      "branch": 31,
      "fn": "ERC20._spendAllowance",
      "offset": [
        11351,
        11388
      ],
      "op": "EQ",
      "path": "13"
    },
    "1365": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11347,
        11590
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x5B5"
    },
    "1368": {
      "branch": 31,
      "fn": "ERC20._spendAllowance",
      "offset": [
        11347,
        11590
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1369": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11432,
        11438
      ],
      "op": "DUP2",
      "path": "13",
      "statement": 19
    },
    "1370": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11412,
        11428
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1371": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11412,
        11438
      ],
      "op": "LT",
      "path": "13"
    },
    "1372": {
      "branch": 32,
      "fn": "ERC20._spendAllowance",
      "offset": [
        11412,
        11438
      ],
      "op": "ISZERO",
      "path": "13"
    },
    "1373": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x5A8"
    },
    "1376": {
      "branch": 32,
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1377": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1379": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1380": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1384": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1386": {
      "op": "SHL"
    },
    "1387": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1388": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1389": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1391": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "1393": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1394": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "ADD",
      "path": "13"
    },
    "1395": {
      "op": "MSTORE"
    },
    "1396": {
      "op": "PUSH1",
      "value": "0x1D"
    },
    "1398": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1400": {
      "op": "DUP3"
    },
    "1401": {
      "op": "ADD"
    },
    "1402": {
      "op": "MSTORE"
    },
    "1403": {
      "op": "PUSH32",
      "value": "0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000"
    },
    "1436": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1438": {
      "op": "DUP3"
    },
    "1439": {
      "op": "ADD"
    },
    "1440": {
      "op": "MSTORE"
    },
    "1441": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1443": {
      "op": "ADD"
    },
    "1444": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3CE"
    },
    "1447": {
      "op": "JUMP"
    },
    "1448": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11404,
        11472
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1449": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11514,
        11565
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 20,
      "value": "0x5B5"
    },
    "1452": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11523,
        11528
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1453": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11530,
        11537
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1454": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11558,
        11564
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1455": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11539,
        11555
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1456": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11539,
        11564
      ],
      "op": "SUB",
      "path": "13"
    },
    "1457": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11514,
        11522
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x41D"
    },
    "1460": {
      "fn": "ERC20._spendAllowance",
      "jump": "i",
      "offset": [
        11514,
        11565
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1461": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11514,
        11565
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1462": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11275,
        11596
      ],
      "op": "POP",
      "path": "13"
    },
    "1463": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11155,
        11596
      ],
      "op": "POP",
      "path": "13"
    },
    "1464": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11155,
        11596
      ],
      "op": "POP",
      "path": "13"
    },
    "1465": {
      "fn": "ERC20._spendAllowance",
      "offset": [
        11155,
        11596
      ],
      "op": "POP",
      "path": "13"
    },
    "1466": {
      "fn": "ERC20._spendAllowance",
      "jump": "o",
      "offset": [
        11155,
        11596
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1467": {
      "fn": "ERC20._transfer",
      "offset": [
        7473,
        8291
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1468": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1470": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1472": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1474": {
      "op": "SHL"
    },
    "1475": {
      "op": "SUB"
    },
    "1476": {
      "fn": "ERC20._transfer",
      "offset": [
        7599,
        7617
      ],
      "op": "DUP4",
      "path": "13",
      "statement": 21
    },
    "1477": {
      "branch": 33,
      "fn": "ERC20._transfer",
      "offset": [
        7599,
        7617
      ],
      "op": "AND",
      "path": "13"
    },
    "1478": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x61F"
    },
    "1481": {
      "branch": 33,
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1482": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1484": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1485": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1489": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1491": {
      "op": "SHL"
    },
    "1492": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1493": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1494": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1496": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "1498": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1499": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "ADD",
      "path": "13"
    },
    "1500": {
      "op": "MSTORE"
    },
    "1501": {
      "op": "PUSH1",
      "value": "0x25"
    },
    "1503": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1505": {
      "op": "DUP3"
    },
    "1506": {
      "op": "ADD"
    },
    "1507": {
      "op": "MSTORE"
    },
    "1508": {
      "op": "PUSH32",
      "value": "0x45524332303A207472616E736665722066726F6D20746865207A65726F206164"
    },
    "1541": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1543": {
      "op": "DUP3"
    },
    "1544": {
      "op": "ADD"
    },
    "1545": {
      "op": "MSTORE"
    },
    "1546": {
      "op": "PUSH5",
      "value": "0x6472657373"
    },
    "1552": {
      "op": "PUSH1",
      "value": "0xD8"
    },
    "1554": {
      "op": "SHL"
    },
    "1555": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1557": {
      "op": "DUP3"
    },
    "1558": {
      "op": "ADD"
    },
    "1559": {
      "op": "MSTORE"
    },
    "1560": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1562": {
      "op": "ADD"
    },
    "1563": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3CE"
    },
    "1566": {
      "op": "JUMP"
    },
    "1567": {
      "fn": "ERC20._transfer",
      "offset": [
        7591,
        7659
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1568": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1570": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1572": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1574": {
      "op": "SHL"
    },
    "1575": {
      "op": "SUB"
    },
    "1576": {
      "fn": "ERC20._transfer",
      "offset": [
        7677,
        7693
      ],
      "op": "DUP3",
      "path": "13",
      "statement": 22
    },
    "1577": {
      "branch": 34,
      "fn": "ERC20._transfer",
      "offset": [
        7677,
        7693
      ],
      "op": "AND",
      "path": "13"
    },
    "1578": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x681"
    },
    "1581": {
      "branch": 34,
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1582": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1584": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1585": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1589": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1591": {
      "op": "SHL"
    },
    "1592": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1593": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1594": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1596": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "1598": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1599": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "ADD",
      "path": "13"
    },
    "1600": {
      "op": "MSTORE"
    },
    "1601": {
      "op": "PUSH1",
      "value": "0x23"
    },
    "1603": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1605": {
      "op": "DUP3"
    },
    "1606": {
      "op": "ADD"
    },
    "1607": {
      "op": "MSTORE"
    },
    "1608": {
      "op": "PUSH32",
      "value": "0x45524332303A207472616E7366657220746F20746865207A65726F2061646472"
    },
    "1641": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1643": {
      "op": "DUP3"
    },
    "1644": {
      "op": "ADD"
    },
    "1645": {
      "op": "MSTORE"
    },
    "1646": {
      "op": "PUSH3",
      "value": "0x657373"
    },
    "1650": {
      "op": "PUSH1",
      "value": "0xE8"
    },
    "1652": {
      "op": "SHL"
    },
    "1653": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1655": {
      "op": "DUP3"
    },
    "1656": {
      "op": "ADD"
    },
    "1657": {
      "op": "MSTORE"
    },
    "1658": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1660": {
      "op": "ADD"
    },
    "1661": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3CE"
    },
    "1664": {
      "op": "JUMP"
    },
    "1665": {
      "fn": "ERC20._transfer",
      "offset": [
        7669,
        7733
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1666": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1668": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1670": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1672": {
      "op": "SHL"
    },
    "1673": {
      "op": "SUB"
    },
    "1674": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "DUP4",
      "path": "13"
    },
    "1675": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "AND",
      "path": "13"
    },
    "1676": {
      "fn": "ERC20._transfer",
      "offset": [
        7793,
        7812
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "1678": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1679": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1680": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1681": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1683": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1684": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1685": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1686": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1688": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1689": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "1690": {
      "fn": "ERC20._transfer",
      "offset": [
        7815,
        7830
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "1691": {
      "fn": "ERC20._transfer",
      "offset": [
        7848,
        7869
      ],
      "op": "DUP2",
      "path": "13",
      "statement": 23
    },
    "1692": {
      "fn": "ERC20._transfer",
      "offset": [
        7848,
        7869
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1693": {
      "fn": "ERC20._transfer",
      "offset": [
        7848,
        7869
      ],
      "op": "LT",
      "path": "13"
    },
    "1694": {
      "branch": 35,
      "fn": "ERC20._transfer",
      "offset": [
        7848,
        7869
      ],
      "op": "ISZERO",
      "path": "13"
    },
    "1695": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x6F9"
    },
    "1698": {
      "branch": 35,
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1699": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1701": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1702": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1706": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1708": {
      "op": "SHL"
    },
    "1709": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1710": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1711": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1713": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "1715": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1716": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "ADD",
      "path": "13"
    },
    "1717": {
      "op": "MSTORE"
    },
    "1718": {
      "op": "PUSH1",
      "value": "0x26"
    },
    "1720": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1722": {
      "op": "DUP3"
    },
    "1723": {
      "op": "ADD"
    },
    "1724": {
      "op": "MSTORE"
    },
    "1725": {
      "op": "PUSH32",
      "value": "0x45524332303A207472616E7366657220616D6F756E7420657863656564732062"
    },
    "1758": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1760": {
      "op": "DUP3"
    },
    "1761": {
      "op": "ADD"
    },
    "1762": {
      "op": "MSTORE"
    },
    "1763": {
      "op": "PUSH6",
      "value": "0x616C616E6365"
    },
    "1770": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "1772": {
      "op": "SHL"
    },
    "1773": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "1775": {
      "op": "DUP3"
    },
    "1776": {
      "op": "ADD"
    },
    "1777": {
      "op": "MSTORE"
    },
    "1778": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "1780": {
      "op": "ADD"
    },
    "1781": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3CE"
    },
    "1784": {
      "op": "JUMP"
    },
    "1785": {
      "fn": "ERC20._transfer",
      "offset": [
        7840,
        7912
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1786": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1788": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1790": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1792": {
      "op": "SHL"
    },
    "1793": {
      "op": "SUB"
    },
    "1794": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP5",
      "path": "13",
      "statement": 24
    },
    "1795": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1796": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "AND",
      "path": "13"
    },
    "1797": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7955
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "1799": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1800": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1801": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1802": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1804": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1805": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1806": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1807": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1809": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1810": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "DUP4",
      "path": "13"
    },
    "1811": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7961
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "1812": {
      "fn": "ERC20._transfer",
      "offset": [
        7964,
        7984
      ],
      "op": "DUP8",
      "path": "13"
    },
    "1813": {
      "fn": "ERC20._transfer",
      "offset": [
        7964,
        7984
      ],
      "op": "DUP8",
      "path": "13"
    },
    "1814": {
      "fn": "ERC20._transfer",
      "offset": [
        7964,
        7984
      ],
      "op": "SUB",
      "path": "13"
    },
    "1815": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7984
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1816": {
      "fn": "ERC20._transfer",
      "offset": [
        7946,
        7984
      ],
      "op": "SSTORE",
      "path": "13"
    },
    "1817": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "SWAP4",
      "path": "13",
      "statement": 25
    },
    "1818": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "DUP8",
      "path": "13"
    },
    "1819": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "AND",
      "path": "13"
    },
    "1820": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1821": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "DUP4",
      "path": "13"
    },
    "1822": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1823": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1824": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1825": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1826": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "KECCAK256",
      "path": "13"
    },
    "1827": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8184
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1828": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8184
      ],
      "op": "SLOAD",
      "path": "13"
    },
    "1829": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8184
      ],
      "op": "DUP8",
      "path": "13"
    },
    "1830": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8184
      ],
      "op": "ADD",
      "path": "13"
    },
    "1831": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8184
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1832": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8184
      ],
      "op": "SSTORE",
      "path": "13"
    },
    "1833": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "SWAP3",
      "path": "13",
      "statement": 26
    },
    "1834": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1835": {
      "op": "DUP6"
    },
    "1836": {
      "op": "DUP2"
    },
    "1837": {
      "op": "MSTORE"
    },
    "1838": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1839": {
      "fn": "ERC20._transfer",
      "offset": [
        8161,
        8174
      ],
      "op": "SWAP3",
      "path": "13"
    },
    "1840": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "PUSH32",
      "path": "13",
      "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
    },
    "1873": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1874": {
      "op": "ADD"
    },
    "1875": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1877": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1878": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1879": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1880": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "SUB",
      "path": "13"
    },
    "1881": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1882": {
      "fn": "ERC20._transfer",
      "offset": [
        8210,
        8236
      ],
      "op": "LOG3",
      "path": "13"
    },
    "1883": {
      "fn": "ERC20._transfer",
      "offset": [
        8247,
        8284
      ],
      "op": "PUSH2",
      "path": "13",
      "statement": 27,
      "value": "0x5B5"
    },
    "1886": {
      "fn": "ERC20._beforeTokenTransfer",
      "offset": [
        12180,
        12301
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1887": {
      "op": "JUMPDEST"
    },
    "1888": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1890": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1892": {
      "op": "DUP1"
    },
    "1893": {
      "op": "DUP4"
    },
    "1894": {
      "op": "MSTORE"
    },
    "1895": {
      "op": "DUP4"
    },
    "1896": {
      "op": "MLOAD"
    },
    "1897": {
      "op": "DUP1"
    },
    "1898": {
      "op": "DUP3"
    },
    "1899": {
      "op": "DUP6"
    },
    "1900": {
      "op": "ADD"
    },
    "1901": {
      "op": "MSTORE"
    },
    "1902": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1904": {
      "op": "JUMPDEST"
    },
    "1905": {
      "op": "DUP2"
    },
    "1906": {
      "op": "DUP2"
    },
    "1907": {
      "op": "LT"
    },
    "1908": {
      "op": "ISZERO"
    },
    "1909": {
      "op": "PUSH2",
      "value": "0x78C"
    },
    "1912": {
      "op": "JUMPI"
    },
    "1913": {
      "op": "DUP6"
    },
    "1914": {
      "op": "DUP2"
    },
    "1915": {
      "op": "ADD"
    },
    "1916": {
      "op": "DUP4"
    },
    "1917": {
      "op": "ADD"
    },
    "1918": {
      "op": "MLOAD"
    },
    "1919": {
      "op": "DUP6"
    },
    "1920": {
      "op": "DUP3"
    },
    "1921": {
      "op": "ADD"
    },
    "1922": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "1924": {
      "op": "ADD"
    },
    "1925": {
      "op": "MSTORE"
    },
    "1926": {
      "op": "DUP3"
    },
    "1927": {
      "op": "ADD"
    },
    "1928": {
      "op": "PUSH2",
      "value": "0x770"
    },
    "1931": {
      "op": "JUMP"
    },
    "1932": {
      "op": "JUMPDEST"
    },
    "1933": {
      "op": "POP"
    },
    "1934": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1936": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "1938": {
      "op": "DUP3"
    },
    "1939": {
      "op": "DUP7"
    },
    "1940": {
      "op": "ADD"
    },
    "1941": {
      "op": "ADD"
    },
    "1942": {
      "op": "MSTORE"
    },
    "1943": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "1945": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "1947": {
      "op": "NOT"
    },
    "1948": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "1950": {
      "op": "DUP4"
    },
    "1951": {
      "op": "ADD"
    },
    "1952": {
      "op": "AND"
    },
    "1953": {
      "op": "DUP6"
    },
    "1954": {
      "op": "ADD"
    },
    "1955": {
      "op": "ADD"
    },
    "1956": {
      "op": "SWAP3"
    },
    "1957": {
      "op": "POP"
    },
    "1958": {
      "op": "POP"
    },
    "1959": {
      "op": "POP"
    },
    "1960": {
      "op": "SWAP3"
    },
    "1961": {
      "op": "SWAP2"
    },
    "1962": {
      "op": "POP"
    },
    "1963": {
      "op": "POP"
    },
    "1964": {
      "jump": "o",
      "op": "JUMP"
    },
    "1965": {
      "op": "JUMPDEST"
    },
    "1966": {
      "op": "DUP1"
    },
    "1967": {
      "op": "CALLDATALOAD"
    },
    "1968": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1970": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1972": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1974": {
      "op": "SHL"
    },
    "1975": {
      "op": "SUB"
    },
    "1976": {
      "op": "DUP2"
    },
    "1977": {
      "op": "AND"
    },
    "1978": {
      "op": "DUP2"
    },
    "1979": {
      "op": "EQ"
    },
    "1980": {
      "op": "PUSH2",
      "value": "0x7C4"
    },
    "1983": {
      "op": "JUMPI"
    },
    "1984": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1986": {
      "op": "DUP1"
    },
    "1987": {
      "op": "REVERT"
    },
    "1988": {
      "op": "JUMPDEST"
    },
    "1989": {
      "op": "SWAP2"
    },
    "1990": {
      "op": "SWAP1"
    },
    "1991": {
      "op": "POP"
    },
    "1992": {
      "jump": "o",
      "op": "JUMP"
    },
    "1993": {
      "op": "JUMPDEST"
    },
    "1994": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1996": {
      "op": "DUP1"
    },
    "1997": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "1999": {
      "op": "DUP4"
    },
    "2000": {
      "op": "DUP6"
    },
    "2001": {
      "op": "SUB"
    },
    "2002": {
      "op": "SLT"
    },
    "2003": {
      "op": "ISZERO"
    },
    "2004": {
      "op": "PUSH2",
      "value": "0x7DC"
    },
    "2007": {
      "op": "JUMPI"
    },
    "2008": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2010": {
      "op": "DUP1"
    },
    "2011": {
      "op": "REVERT"
    },
    "2012": {
      "op": "JUMPDEST"
    },
    "2013": {
      "op": "PUSH2",
      "value": "0x7E5"
    },
    "2016": {
      "op": "DUP4"
    },
    "2017": {
      "op": "PUSH2",
      "value": "0x7AD"
    },
    "2020": {
      "jump": "i",
      "op": "JUMP"
    },
    "2021": {
      "op": "JUMPDEST"
    },
    "2022": {
      "op": "SWAP5"
    },
    "2023": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2025": {
      "op": "SWAP4"
    },
    "2026": {
      "op": "SWAP1"
    },
    "2027": {
      "op": "SWAP4"
    },
    "2028": {
      "op": "ADD"
    },
    "2029": {
      "op": "CALLDATALOAD"
    },
    "2030": {
      "op": "SWAP4"
    },
    "2031": {
      "op": "POP"
    },
    "2032": {
      "op": "POP"
    },
    "2033": {
      "op": "POP"
    },
    "2034": {
      "jump": "o",
      "op": "JUMP"
    },
    "2035": {
      "op": "JUMPDEST"
    },
    "2036": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2038": {
      "op": "DUP1"
    },
    "2039": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2041": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "2043": {
      "op": "DUP5"
    },
    "2044": {
      "op": "DUP7"
    },
    "2045": {
      "op": "SUB"
    },
    "2046": {
      "op": "SLT"
    },
    "2047": {
      "op": "ISZERO"
    },
    "2048": {
      "op": "PUSH2",
      "value": "0x808"
    },
    "2051": {
      "op": "JUMPI"
    },
    "2052": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2054": {
      "op": "DUP1"
    },
    "2055": {
      "op": "REVERT"
    },
    "2056": {
      "op": "JUMPDEST"
    },
    "2057": {
      "op": "PUSH2",
      "value": "0x811"
    },
    "2060": {
      "op": "DUP5"
    },
    "2061": {
      "op": "PUSH2",
      "value": "0x7AD"
    },
    "2064": {
      "jump": "i",
      "op": "JUMP"
    },
    "2065": {
      "op": "JUMPDEST"
    },
    "2066": {
      "op": "SWAP3"
    },
    "2067": {
      "op": "POP"
    },
    "2068": {
      "op": "PUSH2",
      "value": "0x81F"
    },
    "2071": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2073": {
      "op": "DUP6"
    },
    "2074": {
      "op": "ADD"
    },
    "2075": {
      "op": "PUSH2",
      "value": "0x7AD"
    },
    "2078": {
      "jump": "i",
      "op": "JUMP"
    },
    "2079": {
      "op": "JUMPDEST"
    },
    "2080": {
      "op": "SWAP2"
    },
    "2081": {
      "op": "POP"
    },
    "2082": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2084": {
      "op": "DUP5"
    },
    "2085": {
      "op": "ADD"
    },
    "2086": {
      "op": "CALLDATALOAD"
    },
    "2087": {
      "op": "SWAP1"
    },
    "2088": {
      "op": "POP"
    },
    "2089": {
      "op": "SWAP3"
    },
    "2090": {
      "op": "POP"
    },
    "2091": {
      "op": "SWAP3"
    },
    "2092": {
      "op": "POP"
    },
    "2093": {
      "op": "SWAP3"
    },
    "2094": {
      "jump": "o",
      "op": "JUMP"
    },
    "2095": {
      "op": "JUMPDEST"
    },
    "2096": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2098": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2100": {
      "op": "DUP3"
    },
    "2101": {
      "op": "DUP5"
    },
    "2102": {
      "op": "SUB"
    },
    "2103": {
      "op": "SLT"
    },
    "2104": {
      "op": "ISZERO"
    },
    "2105": {
      "op": "PUSH2",
      "value": "0x841"
    },
    "2108": {
      "op": "JUMPI"
    },
    "2109": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2111": {
      "op": "DUP1"
    },
    "2112": {
      "op": "REVERT"
    },
    "2113": {
      "op": "JUMPDEST"
    },
    "2114": {
      "op": "PUSH2",
      "value": "0x84A"
    },
    "2117": {
      "op": "DUP3"
    },
    "2118": {
      "op": "PUSH2",
      "value": "0x7AD"
    },
    "2121": {
      "jump": "i",
      "op": "JUMP"
    },
    "2122": {
      "op": "JUMPDEST"
    },
    "2123": {
      "op": "SWAP4"
    },
    "2124": {
      "op": "SWAP3"
    },
    "2125": {
      "op": "POP"
    },
    "2126": {
      "op": "POP"
    },
    "2127": {
      "op": "POP"
    },
    "2128": {
      "jump": "o",
      "op": "JUMP"
    },
    "2129": {
      "op": "JUMPDEST"
    },
    "2130": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2132": {
      "op": "DUP1"
    },
    "2133": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "2135": {
      "op": "DUP4"
    },
    "2136": {
      "op": "DUP6"
    },
    "2137": {
      "op": "SUB"
    },
    "2138": {
      "op": "SLT"
    },
    "2139": {
      "op": "ISZERO"
    },
    "2140": {
      "op": "PUSH2",
      "value": "0x864"
    },
    "2143": {
      "op": "JUMPI"
    },
    "2144": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2146": {
      "op": "DUP1"
    },
    "2147": {
      "op": "REVERT"
    },
    "2148": {
      "op": "JUMPDEST"
    },
    "2149": {
      "op": "PUSH2",
      "value": "0x86D"
    },
    "2152": {
      "op": "DUP4"
    },
    "2153": {
      "op": "PUSH2",
      "value": "0x7AD"
    },
    "2156": {
      "jump": "i",
      "op": "JUMP"
    },
    "2157": {
      "op": "JUMPDEST"
    },
    "2158": {
      "op": "SWAP2"
    },
    "2159": {
      "op": "POP"
    },
    "2160": {
      "op": "PUSH2",
      "value": "0x87B"
    },
    "2163": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2165": {
      "op": "DUP5"
    },
    "2166": {
      "op": "ADD"
    },
    "2167": {
      "op": "PUSH2",
      "value": "0x7AD"
    },
    "2170": {
      "jump": "i",
      "op": "JUMP"
    },
    "2171": {
      "op": "JUMPDEST"
    },
    "2172": {
      "op": "SWAP1"
    },
    "2173": {
      "op": "POP"
    },
    "2174": {
      "op": "SWAP3"
    },
    "2175": {
      "op": "POP"
    },
    "2176": {
      "op": "SWAP3"
    },
    "2177": {
      "op": "SWAP1"
    },
    "2178": {
      "op": "POP"
    },
    "2179": {
      "jump": "o",
      "op": "JUMP"
    },
    "2180": {
      "op": "JUMPDEST"
    },
    "2181": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2183": {
      "op": "DUP2"
    },
    "2184": {
      "op": "DUP2"
    },
    "2185": {
      "op": "SHR"
    },
    "2186": {
      "op": "SWAP1"
    },
    "2187": {
      "op": "DUP3"
    },
    "2188": {
      "op": "AND"
    },
    "2189": {
      "op": "DUP1"
    },
    "2190": {
      "op": "PUSH2",
      "value": "0x898"
    },
    "2193": {
      "op": "JUMPI"
    },
    "2194": {
      "op": "PUSH1",
      "value": "0x7F"
    },
    "2196": {
      "op": "DUP3"
    },
    "2197": {
      "op": "AND"
    },
    "2198": {
      "op": "SWAP2"
    },
    "2199": {
      "op": "POP"
    },
    "2200": {
      "op": "JUMPDEST"
    },
    "2201": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2203": {
      "op": "DUP3"
    },
    "2204": {
      "op": "LT"
    },
    "2205": {
      "op": "DUP2"
    },
    "2206": {
      "op": "SUB"
    },
    "2207": {
      "op": "PUSH2",
      "value": "0x8B8"
    },
    "2210": {
      "op": "JUMPI"
    },
    "2211": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "2216": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "2218": {
      "op": "SHL"
    },
    "2219": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2221": {
      "op": "MSTORE"
    },
    "2222": {
      "op": "PUSH1",
      "value": "0x22"
    },
    "2224": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "2226": {
      "op": "MSTORE"
    },
    "2227": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2229": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2231": {
      "op": "REVERT"
    },
    "2232": {
      "op": "JUMPDEST"
    },
    "2233": {
      "op": "POP"
    },
    "2234": {
      "op": "SWAP2"
    },
    "2235": {
      "op": "SWAP1"
    },
    "2236": {
      "op": "POP"
    },
    "2237": {
      "jump": "o",
      "op": "JUMP"
    },
    "2238": {
      "op": "JUMPDEST"
    },
    "2239": {
      "op": "DUP1"
    },
    "2240": {
      "op": "DUP3"
    },
    "2241": {
      "op": "ADD"
    },
    "2242": {
      "op": "DUP1"
    },
    "2243": {
      "op": "DUP3"
    },
    "2244": {
      "op": "GT"
    },
    "2245": {
      "op": "ISZERO"
    },
    "2246": {
      "op": "PUSH2",
      "value": "0x309"
    },
    "2249": {
      "op": "JUMPI"
    },
    "2250": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "2255": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "2257": {
      "op": "SHL"
    },
    "2258": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2260": {
      "op": "MSTORE"
    },
    "2261": {
      "op": "PUSH1",
      "value": "0x11"
    },
    "2263": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "2265": {
      "op": "MSTORE"
    },
    "2266": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "2268": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "2270": {
      "op": "REVERT"
    }
  },
  "sha1": "1c73b247d5ca63646a716b04cafac42c4c3fb506",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.19;\n\nimport {ERC20} from \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\ncontract USD1 is ERC20 {\n\n    // https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#readProxyContract\n    string public constant NAME = \"USD Coin - DUMMY\";\n    string public constant SYMBOL = \"USDC\";\n    uint8 public constant DECIMALS = 6;\n\n    uint256 public constant INITIAL_SUPPLY = 10**24;\n\n    event LogUsd1Transfer(address from, address to, uint256 amount, uint256 time, uint256 blockNumber);\n    event LogUsd1TransferFrom(address from, address to, uint256 amount, uint256 time, uint256 blockNumber);\n    constructor()\n        ERC20(NAME, SYMBOL)\n    {\n        _mint(\n            _msgSender(),\n            INITIAL_SUPPLY\n        );\n    }\n\n    function decimals() public pure override returns(uint8) {\n        return DECIMALS;\n    }\n\n    function transfer(address to, uint256 amount) public virtual override returns (bool) {\n        address from = _msgSender();\n\n        // solhint-disable-next-line not-rely-on-time\n        emit LogUsd1TransferFrom(from, to, amount, block.timestamp, block.number);\n        return super.transfer(to, amount);\n    }\n    \n    function transferFrom(address from, address to, uint256 amount) \n        public virtual override returns (bool) \n    {\n        // solhint-disable-next-line not-rely-on-time\n        emit LogUsd1TransferFrom(from, to, amount, block.timestamp, block.number);\n        return super.transferFrom(from, to, amount);\n    }    \n}\n\n\ncontract USD2 is ERC20 {\n\n    // https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7\n    string public constant NAME = \"Tether USD - DUMMY\";\n    string public constant SYMBOL = \"USDT\";\n    uint8 public constant DECIMALS = 6;\n\n    uint256 public constant INITIAL_SUPPLY = 10**24;\n\n    constructor()\n        ERC20(NAME, SYMBOL)\n    {\n        _mint(\n            _msgSender(),\n            INITIAL_SUPPLY\n        );\n    }\n\n    function decimals() public pure override returns(uint8) {\n        return DECIMALS;\n    }\n}\n\n\ncontract USD3 is ERC20 {\n\n    // https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7\n    string public constant NAME = \"Dummy USD - DUMMY\";\n    string public constant SYMBOL = \"DUSD\";\n    uint8 public constant DECIMALS = 13;\n\n    uint256 public constant INITIAL_SUPPLY = 10**24;\n\n    constructor()\n        ERC20(NAME, SYMBOL)\n    {\n        _mint(\n            _msgSender(),\n            INITIAL_SUPPLY\n        );\n    }\n\n    function decimals() public pure override returns(uint8) {\n        return DECIMALS;\n    }\n}\n\n\ncontract DIP is ERC20 {\n\n    // https://etherscan.io/token/0xc719d010b63e5bbf2c0551872cd5316ed26acd83#readContract\n    string public constant NAME = \"Decentralized Insurance Protocol - DUMMY\";\n    string public constant SYMBOL = \"DIP\";\n    uint8 public constant DECIMALS = 18;\n    uint256 public constant INITIAL_SUPPLY = 10**9 * 10**DECIMALS; // 1 Billion 1'000'000'000\n    // decimals == 18 (openzeppelin erc20 default)\n    constructor()\n        ERC20(NAME, SYMBOL)\n    {\n        _mint(\n            _msgSender(),\n            INITIAL_SUPPLY\n        );   \n    }\n\n    function decimals() public pure override returns(uint8) {\n        return DECIMALS;\n    }\n}\n",
  "sourceMap": "1542:532:64:-:0;;;1846:132;;;;;;;;;;1874:4;;;;;;;;;;;;;-1:-1:-1;;;1874:4:64;;;1880:6;;;;;;;;;;;;;-1:-1:-1;;;1880:6:64;;;2050:5:13;2042;:13;;;;;;:::i;:::-;-1:-1:-1;2065:7:13;:17;2075:7;2065;:17;:::i;:::-;;1976:113;;1902:69:64::1;1921:12;:10;;;:12;;:::i;:::-;1833:6;1902:5;:69::i;:::-;1542:532:::0;;640:96:23;719:10;;640:96::o;8567:535:13:-;-1:-1:-1;;;;;8650:21:13;;8642:65;;;;-1:-1:-1;;;8642:65:13;;2937:2:67;8642:65:13;;;2919:21:67;2976:2;2956:18;;;2949:30;3015:33;2995:18;;;2988:61;3066:18;;8642:65:13;;;;;;;;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8946:18:13;;:9;:18;;;;;;;;;;;:28;;;;;;8999:37;3468:25:67;;;8999:37:13;;3441:18:67;8999:37:13;;;;;;;8567:535;;:::o;12180:121::-;;;;:::o;14:127:67:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:67;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:67;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:67;;;2580:26;2531:89;-1:-1:-1;;1335:1:67;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:67;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:67;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:67;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:67:o;3095:222::-;3160:9;;;3181:10;;;3178:133;;;3233:10;3228:3;3224:20;3221:1;3214:31;3268:4;3265:1;3258:15;3296:4;3293:1;3286:15;3178:133;3095:222;;;;:::o;3322:177::-;1542:532:64;;;;;;",
  "sourcePath": "contracts/test/Tokens.sol",
  "type": "contract"
}