{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bool",
          "name": "callSuccess",
          "type": "bool"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "returnDataLength",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "name": "LogTransferHelperCallFailed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bool",
          "name": "tokenIsContract",
          "type": "bool"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "LogTransferHelperInputValidation1Failed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "allowance",
          "type": "uint256"
        }
      ],
      "name": "LogTransferHelperInputValidation2Failed",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "unifiedTransferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "100": "contracts/test/TestTransferFrom.sol",
    "13": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
    "90": "contracts/shared/TransferHelper.sol"
  },
  "ast": {
    "absolutePath": "contracts/test/TestTransferFrom.sol",
    "exportedSymbols": {
      "IERC20": [
        18510
      ],
      "TestTransferFrom": [
        17033
      ],
      "TransferHelper": [
        15170
      ]
    },
    "id": 17034,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 16985,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:100"
      },
      {
        "absolutePath": "contracts/shared/TransferHelper.sol",
        "file": "../shared/TransferHelper.sol",
        "id": 16986,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 17034,
        "sourceUnit": 15171,
        "src": "63:38:100",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "id": 16987,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 17034,
        "sourceUnit": 18511,
        "src": "103:56:100",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 17033,
        "linearizedBaseContracts": [
          17033
        ],
        "name": "TestTransferFrom",
        "nameLocation": "170:16:100",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 16995,
            "name": "LogTransferHelperInputValidation1Failed",
            "nameLocation": "200:39:100",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 16994,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16989,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "tokenIsContract",
                  "nameLocation": "245:15:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 16995,
                  "src": "240:20:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 16988,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "240:4:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 16991,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "270:4:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 16995,
                  "src": "262:12:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 16990,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "262:7:100",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 16993,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "284:2:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 16995,
                  "src": "276:10:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 16992,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "276:7:100",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "239:48:100"
            },
            "src": "194:94:100"
          },
          {
            "anonymous": false,
            "id": 17001,
            "name": "LogTransferHelperInputValidation2Failed",
            "nameLocation": "299:39:100",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 17000,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16997,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "balance",
                  "nameLocation": "347:7:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17001,
                  "src": "339:15:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 16996,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "339:7:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 16999,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "allowance",
                  "nameLocation": "364:9:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17001,
                  "src": "356:17:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 16998,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "356:7:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "338:36:100"
            },
            "src": "293:82:100"
          },
          {
            "anonymous": false,
            "id": 17009,
            "name": "LogTransferHelperCallFailed",
            "nameLocation": "386:27:100",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 17008,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17003,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "callSuccess",
                  "nameLocation": "419:11:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17009,
                  "src": "414:16:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 17002,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "414:4:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 17005,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "returnDataLength",
                  "nameLocation": "440:16:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17009,
                  "src": "432:24:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17004,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "432:7:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 17007,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "returnData",
                  "nameLocation": "464:10:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17009,
                  "src": "458:16:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 17006,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "458:5:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "413:62:100"
            },
            "src": "380:96:100"
          },
          {
            "body": {
              "id": 17031,
              "nodeType": "Block",
              "src": "653:83:100",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 17025,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17012,
                        "src": "705:5:100",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$18510",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "id": 17026,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17014,
                        "src": "712:4:100",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 17027,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17016,
                        "src": "718:2:100",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 17028,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17018,
                        "src": "722:6:100",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IERC20_$18510",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 17023,
                        "name": "TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15170,
                        "src": "670:14:100",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_TransferHelper_$15170_$",
                          "typeString": "type(library TransferHelper)"
                        }
                      },
                      "id": 17024,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "unifiedTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 15169,
                      "src": "670:34:100",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$18510_$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (contract IERC20,address,address,uint256) returns (bool)"
                      }
                    },
                    "id": 17029,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "670:59:100",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 17022,
                  "id": 17030,
                  "nodeType": "Return",
                  "src": "663:66:100"
                }
              ]
            },
            "functionSelector": "86aa75d7",
            "id": 17032,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "unifiedTransferFrom",
            "nameLocation": "491:19:100",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 17019,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17012,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "527:5:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17032,
                  "src": "520:12:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IERC20_$18510",
                    "typeString": "contract IERC20"
                  },
                  "typeName": {
                    "id": 17011,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 17010,
                      "name": "IERC20",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 18510,
                      "src": "520:6:100"
                    },
                    "referencedDeclaration": 18510,
                    "src": "520:6:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20_$18510",
                      "typeString": "contract IERC20"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 17014,
                  "mutability": "mutable",
                  "name": "from",
                  "nameLocation": "551:4:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17032,
                  "src": "543:12:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 17013,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "543:7:100",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 17016,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "574:2:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17032,
                  "src": "566:10:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 17015,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "566:7:100",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 17018,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "595:6:100",
                  "nodeType": "VariableDeclaration",
                  "scope": 17032,
                  "src": "587:14:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 17017,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "587:7:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "510:97:100"
            },
            "returnParameters": {
              "id": 17022,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 17021,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 17032,
                  "src": "643:4:100",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 17020,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "643:4:100",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "642:6:100"
            },
            "scope": 17033,
            "src": "482:254:100",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 17034,
        "src": "161:578:100"
      }
    ],
    "src": "39:701:100"
  },
  "bytecode": "608060405234801561001057600080fd5b506104f1806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806386aa75d714610030575b600080fd5b61004361003e3660046103ac565b610057565b604051901515815260200160405180910390f35b600061006585858585610070565b90505b949350505050565b6000846001600160a01b038082163b1515908616158061009757506001600160a01b038516155b806100a0575080155b156100fb576040805182151581526001600160a01b03888116602083015287168183015290517fe2a67c968620b6e8891e10a48c5d0c958ec8dc14d420ff7a2a1b16e7c5ede2b79181900360600190a1600092505050610068565b6040516370a0823160e01b81526001600160a01b038781166004830152600091908916906370a082319060240160206040518083038186803b15801561014057600080fd5b505afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906103fc565b604051636eb1769f60e11b81526001600160a01b0389811660048301523060248301529192506000918a169063dd62ed3e9060440160206040518083038186803b1580156101c557600080fd5b505afa1580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd91906103fc565b90508582108061020c57508581105b156102575760408051838152602081018390527f80f73cf7014d047c01587fb6c83a8052d5088f7dc1aa8c47e37544397b9d643a910160405180910390a16000945050505050610068565b604080516001600160a01b038a81166024830152898116604483015260648083018a905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908d16916102bb9190610414565b6000604051808303816000865af19150503d80600081146102f8576040519150601f19603f3d011682016040523d82523d6000602084013e6102fd565b606091505b50915091508180156103335750805115806103335750805160201480156103335750808060200190518101906103339190610385565b965086610377577f16b21b374049dcebf0872579e85d4e9d5902788178b61bd82892c4b70584814b8282518360405161036e93929190610430565b60405180910390a15b505050505050949350505050565b600060208284031215610396578081fd5b815180151581146103a5578182fd5b9392505050565b600080600080608085870312156103c1578283fd5b84356103cc816104a3565b935060208501356103dc816104a3565b925060408501356103ec816104a3565b9396929550929360600135925050565b60006020828403121561040d578081fd5b5051919050565b60008251610426818460208701610473565b9190910192915050565b6000841515825283602083015260606040830152825180606084015261045d816080850160208701610473565b601f01601f191691909101608001949350505050565b60005b8381101561048e578181015183820152602001610476565b8381111561049d576000848401525b50505050565b6001600160a01b03811681146104b857600080fd5b5056fea26469706673582212207ff730b78a77d890768c2d6d8a0d9ef6b4cc0b1603c112a2106293f7610d1d2164736f6c63430008020033",
  "bytecodeSha1": "4e1a0ef5fc93ba146b0211e5f95b3dbbe7f0787a",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "TestTransferFrom",
  "coverageMap": {
    "branches": {
      "100": {},
      "13": {},
      "90": {
        "TransferHelper.unifiedTransferFrom": {
          "7": [
            1245,
            1263,
            true
          ],
          "8": [
            1267,
            1284,
            true
          ],
          "9": [
            1289,
            1304,
            false
          ],
          "10": [
            1600,
            1615,
            true
          ],
          "11": [
            1619,
            1636,
            false
          ],
          "12": [
            2231,
            2238,
            false
          ]
        }
      }
    },
    "statements": {
      "100": {
        "TestTransferFrom.unifiedTransferFrom": {
          "0": [
            663,
            729
          ]
        }
      },
      "13": {},
      "90": {
        "TransferHelper.unifiedTransferFrom": {
          "1": [
            1320,
            1391
          ],
          "2": [
            1405,
            1417
          ],
          "3": [
            1652,
            1716
          ],
          "4": [
            1730,
            1742
          ],
          "5": [
            2087,
            2215
          ],
          "6": [
            2254,
            2318
          ]
        }
      }
    }
  },
  "dependencies": [
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC20",
    "TransferHelper"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b506004361061002b5760003560e01c806386aa75d714610030575b600080fd5b61004361003e3660046103ac565b610057565b604051901515815260200160405180910390f35b600061006585858585610070565b90505b949350505050565b6000846001600160a01b038082163b1515908616158061009757506001600160a01b038516155b806100a0575080155b156100fb576040805182151581526001600160a01b03888116602083015287168183015290517fe2a67c968620b6e8891e10a48c5d0c958ec8dc14d420ff7a2a1b16e7c5ede2b79181900360600190a1600092505050610068565b6040516370a0823160e01b81526001600160a01b038781166004830152600091908916906370a082319060240160206040518083038186803b15801561014057600080fd5b505afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906103fc565b604051636eb1769f60e11b81526001600160a01b0389811660048301523060248301529192506000918a169063dd62ed3e9060440160206040518083038186803b1580156101c557600080fd5b505afa1580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd91906103fc565b90508582108061020c57508581105b156102575760408051838152602081018390527f80f73cf7014d047c01587fb6c83a8052d5088f7dc1aa8c47e37544397b9d643a910160405180910390a16000945050505050610068565b604080516001600160a01b038a81166024830152898116604483015260648083018a905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908d16916102bb9190610414565b6000604051808303816000865af19150503d80600081146102f8576040519150601f19603f3d011682016040523d82523d6000602084013e6102fd565b606091505b50915091508180156103335750805115806103335750805160201480156103335750808060200190518101906103339190610385565b965086610377577f16b21b374049dcebf0872579e85d4e9d5902788178b61bd82892c4b70584814b8282518360405161036e93929190610430565b60405180910390a15b505050505050949350505050565b600060208284031215610396578081fd5b815180151581146103a5578182fd5b9392505050565b600080600080608085870312156103c1578283fd5b84356103cc816104a3565b935060208501356103dc816104a3565b925060408501356103ec816104a3565b9396929550929360600135925050565b60006020828403121561040d578081fd5b5051919050565b60008251610426818460208701610473565b9190910192915050565b6000841515825283602083015260606040830152825180606084015261045d816080850160208701610473565b601f01601f191691909101608001949350505050565b60005b8381101561048e578181015183820152602001610476565b8381111561049d576000848401525b50505050565b6001600160a01b03811681146104b857600080fd5b5056fea26469706673582212207ff730b78a77d890768c2d6d8a0d9ef6b4cc0b1603c112a2106293f7610d1d2164736f6c63430008020033",
  "deployedSourceMap": "161:578:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;482:254;;;;;;:::i;:::-;;:::i;:::-;;;2485:14:103;;2478:22;2460:41;;2448:2;2433:18;482:254:100;;;;;;;;643:4;670:59;705:5;712:4;718:2;722:6;670:34;:59::i;:::-;663:66;;482:254;;;;;;;:::o;913:1422:90:-;1068:12;1162:5;-1:-1:-1;;;;;1202:24:90;;;;:28;;;1245:18;;;;:39;;-1:-1:-1;;;;;;1267:17:90;;;1245:39;:59;;;;1289:15;1288:16;1245:59;1241:187;;;1325:66;;;2733:14:103;;2726:22;2708:41;;-1:-1:-1;;;;;2823:15:103;;;2818:2;2803:18;;2796:43;2875:15;;2855:18;;;2848:43;1325:66:90;;;;;;;2696:2:103;1325:66:90;;;1412:5;1405:12;;;;;;1241:187;1499:21;;-1:-1:-1;;;1499:21:90;;-1:-1:-1;;;;;1587:32:103;;;1499:21:90;;;1569:51:103;1481:15:90;;1499;;;;;;1542:18:103;;1499:21:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1550:36;;-1:-1:-1;;;1550:36:90;;-1:-1:-1;;;;;1861:15:103;;;1550:36:90;;;1843:34:103;1580:4:90;1893:18:103;;;1886:43;1481:39:90;;-1:-1:-1;1530:17:90;;1550:15;;;;;1778:18:103;;1550:36:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1530:56;;1610:5;1600:7;:15;:36;;;;1631:5;1619:9;:17;1600:36;1596:157;;;1657:59;;;3616:25:103;;;3672:2;3657:18;;3650:34;;;1657:59:90;;3589:18:103;1657:59:90;;;;;;;1737:5;1730:12;;;;;;;;1596:157;1956:119;;;-1:-1:-1;;;;;2198:15:103;;;1956:119:90;;;2180:34:103;2250:15;;;2230:18;;;2223:43;2282:18;;;;2275:34;;;1956:119:90;;;;;;;;;;2115:18:103;;;;1956:119:90;;;;;;;-1:-1:-1;;;;;1956:119:90;-1:-1:-1;;;1956:119:90;;;1923:153;;-1:-1:-1;;;;1923:19:90;;;;:153;;1956:119;1923:153;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1883:193;;;;2097:11;:118;;;;-1:-1:-1;2134:11:90;;:16;2113:101;;;;2168:4;:11;2183:2;2168:17;:45;;;;;2200:4;2189:24;;;;;;;;;;;;:::i;:::-;2087:128;;2231:7;2226:103;;2259:59;2287:11;2300:4;:11;2313:4;2259:59;;;;;;;;:::i;:::-;;;;;;;;2226:103;913:1422;;;;;;;;;;;;:::o;14:297:103:-;;134:2;122:9;113:7;109:23;105:32;102:2;;;155:6;147;140:22;102:2;192:9;186:16;245:5;238:13;231:21;224:5;221:32;211:2;;272:6;264;257:22;211:2;300:5;92:219;-1:-1:-1;;;92:219:103:o;316:624::-;;;;;495:3;483:9;474:7;470:23;466:33;463:2;;;517:6;509;502:22;463:2;561:9;548:23;580:31;605:5;580:31;:::i;:::-;630:5;-1:-1:-1;687:2:103;672:18;;659:32;700:33;659:32;700:33;:::i;:::-;752:7;-1:-1:-1;811:2:103;796:18;;783:32;824:33;783:32;824:33;:::i;:::-;453:487;;;;-1:-1:-1;876:7:103;;930:2;915:18;902:32;;-1:-1:-1;;453:487:103:o;945:194::-;;1068:2;1056:9;1047:7;1043:23;1039:32;1036:2;;;1089:6;1081;1074:22;1036:2;-1:-1:-1;1117:16:103;;1026:113;-1:-1:-1;1026:113:103:o;1144:274::-;;1311:6;1305:13;1327:53;1373:6;1368:3;1361:4;1353:6;1349:17;1327:53;:::i;:::-;1396:16;;;;;1281:137;-1:-1:-1;;1281:137:103:o;2902:535::-;;3113:6;3106:14;3099:22;3088:9;3081:41;3158:6;3153:2;3142:9;3138:18;3131:34;3201:2;3196;3185:9;3181:18;3174:30;3233:6;3227:13;3276:6;3271:2;3260:9;3256:18;3249:34;3292:67;3352:6;3346:3;3335:9;3331:19;3326:2;3318:6;3314:15;3292:67;:::i;:::-;3420:2;3399:15;-1:-1:-1;;3395:29:103;3380:45;;;;3427:3;3376:55;;3071:366;-1:-1:-1;;;;3071:366:103:o;3695:258::-;3767:1;3777:113;3791:6;3788:1;3785:13;3777:113;;;3867:11;;;3861:18;3848:11;;;3841:39;3813:2;3806:10;3777:113;;;3908:6;3905:1;3902:13;3899:2;;;3943:1;3934:6;3929:3;3925:16;3918:27;3899:2;;3748:205;;;:::o;3958:131::-;-1:-1:-1;;;;;4033:31:103;;4023:42;;4013:2;;4079:1;4076;4069:12;4013:2;4003:86;:::o",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    161,
    739
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x86AA75D7 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x3AC JUMP JUMPDEST PUSH2 0x57 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x65 DUP6 DUP6 DUP6 DUP6 PUSH2 0x70 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND EXTCODESIZE ISZERO ISZERO SWAP1 DUP7 AND ISZERO DUP1 PUSH2 0x97 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND ISZERO JUMPDEST DUP1 PUSH2 0xA0 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0xFB JUMPI PUSH1 0x40 DUP1 MLOAD DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE DUP8 AND DUP2 DUP4 ADD MSTORE SWAP1 MLOAD PUSH32 0xE2A67C968620B6E8891E10A48C5D0C958EC8DC14D420FF7A2A1B16E7C5EDE2B7 SWAP2 DUP2 SWAP1 SUB PUSH1 0x60 ADD SWAP1 LOG1 PUSH1 0x0 SWAP3 POP POP POP PUSH2 0x68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP10 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x154 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x178 SWAP2 SWAP1 PUSH2 0x3FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 DUP11 AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1FD SWAP2 SWAP1 PUSH2 0x3FC JUMP JUMPDEST SWAP1 POP DUP6 DUP3 LT DUP1 PUSH2 0x20C JUMPI POP DUP6 DUP2 LT JUMPDEST ISZERO PUSH2 0x257 JUMPI PUSH1 0x40 DUP1 MLOAD DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0x80F73CF7014D047C01587FB6C83A8052D5088F7DC1AA8C47E37544397B9D643A SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 SWAP5 POP POP POP POP POP PUSH2 0x68 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP10 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP11 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP14 AND SWAP2 PUSH2 0x2BB SWAP2 SWAP1 PUSH2 0x414 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2F8 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x2FD JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x333 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x333 JUMPI POP DUP1 MLOAD PUSH1 0x20 EQ DUP1 ISZERO PUSH2 0x333 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x333 SWAP2 SWAP1 PUSH2 0x385 JUMP JUMPDEST SWAP7 POP DUP7 PUSH2 0x377 JUMPI PUSH32 0x16B21B374049DCEBF0872579E85D4E9D5902788178B61BD82892C4B70584814B DUP3 DUP3 MLOAD DUP4 PUSH1 0x40 MLOAD PUSH2 0x36E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x430 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x396 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3A5 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3C1 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x3CC DUP2 PUSH2 0x4A3 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x3DC DUP2 PUSH2 0x4A3 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x3EC DUP2 PUSH2 0x4A3 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP3 SWAP4 PUSH1 0x60 ADD CALLDATALOAD SWAP3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x40D JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x426 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x473 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 ISZERO ISZERO DUP3 MSTORE DUP4 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP4 ADD MSTORE DUP3 MLOAD DUP1 PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x45D DUP2 PUSH1 0x80 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x473 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x80 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x48E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x476 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x49D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH32 0xF730B78A77D890768C2D6D8A0D9EF6B4CC0B1603C112A2106293F7610D1D2164 PUSH20 0x6F6C634300080200330000000000000000000000 ",
  "pcMap": {
    "0": {
      "offset": [
        161,
        739
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "MSTORE",
      "path": "100"
    },
    "5": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "CALLVALUE",
      "path": "100"
    },
    "6": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "DUP1",
      "path": "100"
    },
    "7": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "ISZERO",
      "path": "100"
    },
    "8": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "JUMPI",
      "path": "100"
    },
    "12": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "DUP1",
      "path": "100"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "REVERT",
      "path": "100"
    },
    "16": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "17": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "POP",
      "path": "100"
    },
    "18": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "CALLDATASIZE",
      "path": "100"
    },
    "21": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "LT",
      "path": "100"
    },
    "22": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x2B"
    },
    "25": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "JUMPI",
      "path": "100"
    },
    "26": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "CALLDATALOAD",
      "path": "100"
    },
    "29": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "SHR",
      "path": "100"
    },
    "32": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "DUP1",
      "path": "100"
    },
    "33": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH4",
      "path": "100",
      "value": "0x86AA75D7"
    },
    "38": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "EQ",
      "path": "100"
    },
    "39": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x30"
    },
    "42": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "JUMPI",
      "path": "100"
    },
    "43": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "44": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x0"
    },
    "46": {
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "DUP1",
      "path": "100"
    },
    "47": {
      "first_revert": true,
      "fn": null,
      "offset": [
        161,
        739
      ],
      "op": "REVERT",
      "path": "100"
    },
    "48": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "49": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x43"
    },
    "52": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x3E"
    },
    "55": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "CALLDATASIZE",
      "path": "100"
    },
    "56": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x4"
    },
    "58": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x3AC"
    },
    "61": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        482,
        736
      ],
      "op": "JUMP",
      "path": "100"
    },
    "62": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "63": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x57"
    },
    "66": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        482,
        736
      ],
      "op": "JUMP",
      "path": "100"
    },
    "67": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "68": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x40"
    },
    "70": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "MLOAD",
      "path": "100"
    },
    "71": {
      "op": "SWAP1"
    },
    "72": {
      "op": "ISZERO"
    },
    "73": {
      "op": "ISZERO"
    },
    "74": {
      "op": "DUP2"
    },
    "75": {
      "op": "MSTORE"
    },
    "76": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "78": {
      "op": "ADD"
    },
    "79": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x40"
    },
    "81": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "MLOAD",
      "path": "100"
    },
    "82": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "DUP1",
      "path": "100"
    },
    "83": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "SWAP2",
      "path": "100"
    },
    "84": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "SUB",
      "path": "100"
    },
    "85": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "SWAP1",
      "path": "100"
    },
    "86": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "RETURN",
      "path": "100"
    },
    "87": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "88": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        643,
        647
      ],
      "op": "PUSH1",
      "path": "100",
      "value": "0x0"
    },
    "90": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        670,
        729
      ],
      "op": "PUSH2",
      "path": "100",
      "statement": 0,
      "value": "0x65"
    },
    "93": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        705,
        710
      ],
      "op": "DUP6",
      "path": "100"
    },
    "94": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        712,
        716
      ],
      "op": "DUP6",
      "path": "100"
    },
    "95": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        718,
        720
      ],
      "op": "DUP6",
      "path": "100"
    },
    "96": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        722,
        728
      ],
      "op": "DUP6",
      "path": "100"
    },
    "97": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        670,
        704
      ],
      "op": "PUSH2",
      "path": "100",
      "value": "0x70"
    },
    "100": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        670,
        729
      ],
      "op": "JUMP",
      "path": "100"
    },
    "101": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        670,
        729
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "102": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        663,
        729
      ],
      "op": "SWAP1",
      "path": "100"
    },
    "103": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        663,
        729
      ],
      "op": "POP",
      "path": "100"
    },
    "104": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "JUMPDEST",
      "path": "100"
    },
    "105": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "SWAP5",
      "path": "100"
    },
    "106": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "SWAP4",
      "path": "100"
    },
    "107": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "POP",
      "path": "100"
    },
    "108": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "POP",
      "path": "100"
    },
    "109": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "POP",
      "path": "100"
    },
    "110": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "offset": [
        482,
        736
      ],
      "op": "POP",
      "path": "100"
    },
    "111": {
      "fn": "TestTransferFrom.unifiedTransferFrom",
      "jump": "o",
      "offset": [
        482,
        736
      ],
      "op": "JUMP",
      "path": "100"
    },
    "112": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "113": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1068,
        1080
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "115": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1162,
        1167
      ],
      "op": "DUP5",
      "path": "90"
    },
    "116": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "118": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "120": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "122": {
      "op": "SHL"
    },
    "123": {
      "op": "SUB"
    },
    "124": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1202,
        1226
      ],
      "op": "DUP1",
      "path": "90"
    },
    "125": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1202,
        1226
      ],
      "op": "DUP3",
      "path": "90"
    },
    "126": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1202,
        1226
      ],
      "op": "AND",
      "path": "90"
    },
    "127": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1202,
        1226
      ],
      "op": "EXTCODESIZE",
      "path": "90"
    },
    "128": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1202,
        1230
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "129": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1202,
        1230
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "130": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1202,
        1230
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "131": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1263
      ],
      "op": "DUP7",
      "path": "90"
    },
    "132": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1263
      ],
      "op": "AND",
      "path": "90"
    },
    "133": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1263
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "134": {
      "branch": 7,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1263
      ],
      "op": "DUP1",
      "path": "90"
    },
    "135": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1284
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x97"
    },
    "138": {
      "branch": 7,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1284
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "139": {
      "op": "POP"
    },
    "140": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "142": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "144": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "146": {
      "op": "SHL"
    },
    "147": {
      "op": "SUB"
    },
    "148": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1267,
        1284
      ],
      "op": "DUP6",
      "path": "90"
    },
    "149": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1267,
        1284
      ],
      "op": "AND",
      "path": "90"
    },
    "150": {
      "branch": 8,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1267,
        1284
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "151": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1284
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "152": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1304
      ],
      "op": "DUP1",
      "path": "90"
    },
    "153": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1304
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0xA0"
    },
    "156": {
      "branch": 8,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1304
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "157": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1304
      ],
      "op": "POP",
      "path": "90"
    },
    "158": {
      "branch": 9,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1289,
        1304
      ],
      "op": "DUP1",
      "path": "90"
    },
    "159": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1288,
        1304
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "160": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1245,
        1304
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "161": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1241,
        1428
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "162": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1241,
        1428
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0xFB"
    },
    "165": {
      "branch": 9,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1241,
        1428
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "166": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "PUSH1",
      "path": "90",
      "statement": 1,
      "value": "0x40"
    },
    "168": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "DUP1",
      "path": "90"
    },
    "169": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "170": {
      "op": "DUP3"
    },
    "171": {
      "op": "ISZERO"
    },
    "172": {
      "op": "ISZERO"
    },
    "173": {
      "op": "DUP2"
    },
    "174": {
      "op": "MSTORE"
    },
    "175": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "177": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "179": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "181": {
      "op": "SHL"
    },
    "182": {
      "op": "SUB"
    },
    "183": {
      "op": "DUP9"
    },
    "184": {
      "op": "DUP2"
    },
    "185": {
      "op": "AND"
    },
    "186": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "188": {
      "op": "DUP4"
    },
    "189": {
      "op": "ADD"
    },
    "190": {
      "op": "MSTORE"
    },
    "191": {
      "op": "DUP8"
    },
    "192": {
      "op": "AND"
    },
    "193": {
      "op": "DUP2"
    },
    "194": {
      "op": "DUP4"
    },
    "195": {
      "op": "ADD"
    },
    "196": {
      "op": "MSTORE"
    },
    "197": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "198": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "199": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "PUSH32",
      "path": "90",
      "value": "0xE2A67C968620B6E8891E10A48C5D0C958EC8DC14D420FF7A2A1B16E7C5EDE2B7"
    },
    "232": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "233": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "DUP2",
      "path": "90"
    },
    "234": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "235": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "SUB",
      "path": "90"
    },
    "236": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "238": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "ADD",
      "path": "90"
    },
    "239": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "240": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1325,
        1391
      ],
      "op": "LOG1",
      "path": "90"
    },
    "241": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1412,
        1417
      ],
      "op": "PUSH1",
      "path": "90",
      "statement": 2,
      "value": "0x0"
    },
    "243": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1405,
        1417
      ],
      "op": "SWAP3",
      "path": "90"
    },
    "244": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1405,
        1417
      ],
      "op": "POP",
      "path": "90"
    },
    "245": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1405,
        1417
      ],
      "op": "POP",
      "path": "90"
    },
    "246": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1405,
        1417
      ],
      "op": "POP",
      "path": "90"
    },
    "247": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1405,
        1417
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x68"
    },
    "250": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1405,
        1417
      ],
      "op": "JUMP",
      "path": "90"
    },
    "251": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1241,
        1428
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "252": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "254": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "255": {
      "op": "PUSH4",
      "value": "0x70A08231"
    },
    "260": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "262": {
      "op": "SHL"
    },
    "263": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP2",
      "path": "90"
    },
    "264": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "265": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "267": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "269": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "271": {
      "op": "SHL"
    },
    "272": {
      "op": "SUB"
    },
    "273": {
      "op": "DUP8"
    },
    "274": {
      "op": "DUP2"
    },
    "275": {
      "op": "AND"
    },
    "276": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x4"
    },
    "278": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP4",
      "path": "90"
    },
    "279": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ADD",
      "path": "90"
    },
    "280": {
      "op": "MSTORE"
    },
    "281": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1481,
        1496
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "283": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1481,
        1496
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "284": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1514
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "285": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1514
      ],
      "op": "DUP10",
      "path": "90"
    },
    "286": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1514
      ],
      "op": "AND",
      "path": "90"
    },
    "287": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1514
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "288": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1514
      ],
      "op": "PUSH4",
      "path": "90",
      "value": "0x70A08231"
    },
    "293": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1514
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "294": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "296": {
      "op": "ADD"
    },
    "297": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x20"
    },
    "299": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "301": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "302": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP1",
      "path": "90"
    },
    "303": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP4",
      "path": "90"
    },
    "304": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "SUB",
      "path": "90"
    },
    "305": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP2",
      "path": "90"
    },
    "306": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP7",
      "path": "90"
    },
    "307": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP1",
      "path": "90"
    },
    "308": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "EXTCODESIZE",
      "path": "90"
    },
    "309": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "310": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP1",
      "path": "90"
    },
    "311": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "312": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x140"
    },
    "315": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "316": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "318": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP1",
      "path": "90"
    },
    "319": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "REVERT",
      "path": "90"
    },
    "320": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "321": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "POP",
      "path": "90"
    },
    "322": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "GAS",
      "path": "90"
    },
    "323": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "STATICCALL",
      "path": "90"
    },
    "324": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "325": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP1",
      "path": "90"
    },
    "326": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "327": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x154"
    },
    "330": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "331": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "332": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "334": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP1",
      "path": "90"
    },
    "335": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "RETURNDATACOPY",
      "path": "90"
    },
    "336": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "337": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "339": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "REVERT",
      "path": "90"
    },
    "340": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "341": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "POP",
      "path": "90"
    },
    "342": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "POP",
      "path": "90"
    },
    "343": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "POP",
      "path": "90"
    },
    "344": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "POP",
      "path": "90"
    },
    "345": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "347": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "348": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "349": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x1F"
    },
    "351": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "NOT",
      "path": "90"
    },
    "352": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x1F"
    },
    "354": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP3",
      "path": "90"
    },
    "355": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ADD",
      "path": "90"
    },
    "356": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "AND",
      "path": "90"
    },
    "357": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP3",
      "path": "90"
    },
    "358": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ADD",
      "path": "90"
    },
    "359": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP1",
      "path": "90"
    },
    "360": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "362": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "363": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "POP",
      "path": "90"
    },
    "364": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "DUP2",
      "path": "90"
    },
    "365": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "ADD",
      "path": "90"
    },
    "366": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "367": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x178"
    },
    "370": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "371": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "372": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x3FC"
    },
    "375": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        1499,
        1520
      ],
      "op": "JUMP",
      "path": "90"
    },
    "376": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1499,
        1520
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "377": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "379": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "380": {
      "op": "PUSH4",
      "value": "0x6EB1769F"
    },
    "385": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "387": {
      "op": "SHL"
    },
    "388": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP2",
      "path": "90"
    },
    "389": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "390": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "392": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "394": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "396": {
      "op": "SHL"
    },
    "397": {
      "op": "SUB"
    },
    "398": {
      "op": "DUP10"
    },
    "399": {
      "op": "DUP2"
    },
    "400": {
      "op": "AND"
    },
    "401": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x4"
    },
    "403": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP4",
      "path": "90"
    },
    "404": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ADD",
      "path": "90"
    },
    "405": {
      "op": "MSTORE"
    },
    "406": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1580,
        1584
      ],
      "op": "ADDRESS",
      "path": "90"
    },
    "407": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "409": {
      "op": "DUP4"
    },
    "410": {
      "op": "ADD"
    },
    "411": {
      "op": "MSTORE"
    },
    "412": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1481,
        1520
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "413": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1481,
        1520
      ],
      "op": "SWAP3",
      "path": "90"
    },
    "414": {
      "op": "POP"
    },
    "415": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1530,
        1547
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "417": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1530,
        1547
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "418": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1565
      ],
      "op": "DUP11",
      "path": "90"
    },
    "419": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1565
      ],
      "op": "AND",
      "path": "90"
    },
    "420": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1565
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "421": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1565
      ],
      "op": "PUSH4",
      "path": "90",
      "value": "0xDD62ED3E"
    },
    "426": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1565
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "427": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "429": {
      "op": "ADD"
    },
    "430": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x20"
    },
    "432": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "434": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "435": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP1",
      "path": "90"
    },
    "436": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP4",
      "path": "90"
    },
    "437": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "SUB",
      "path": "90"
    },
    "438": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP2",
      "path": "90"
    },
    "439": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP7",
      "path": "90"
    },
    "440": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP1",
      "path": "90"
    },
    "441": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "EXTCODESIZE",
      "path": "90"
    },
    "442": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "443": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP1",
      "path": "90"
    },
    "444": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "445": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x1C5"
    },
    "448": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "449": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "451": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP1",
      "path": "90"
    },
    "452": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "REVERT",
      "path": "90"
    },
    "453": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "454": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "POP",
      "path": "90"
    },
    "455": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "GAS",
      "path": "90"
    },
    "456": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "STATICCALL",
      "path": "90"
    },
    "457": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "458": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP1",
      "path": "90"
    },
    "459": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "460": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x1D9"
    },
    "463": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "464": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "465": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "467": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP1",
      "path": "90"
    },
    "468": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "RETURNDATACOPY",
      "path": "90"
    },
    "469": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "470": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "472": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "REVERT",
      "path": "90"
    },
    "473": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "474": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "POP",
      "path": "90"
    },
    "475": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "POP",
      "path": "90"
    },
    "476": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "POP",
      "path": "90"
    },
    "477": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "POP",
      "path": "90"
    },
    "478": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "480": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "481": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "482": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x1F"
    },
    "484": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "NOT",
      "path": "90"
    },
    "485": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x1F"
    },
    "487": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP3",
      "path": "90"
    },
    "488": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ADD",
      "path": "90"
    },
    "489": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "AND",
      "path": "90"
    },
    "490": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP3",
      "path": "90"
    },
    "491": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ADD",
      "path": "90"
    },
    "492": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP1",
      "path": "90"
    },
    "493": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "495": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "496": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "POP",
      "path": "90"
    },
    "497": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "DUP2",
      "path": "90"
    },
    "498": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "ADD",
      "path": "90"
    },
    "499": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "500": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x1FD"
    },
    "503": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "504": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "505": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x3FC"
    },
    "508": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        1550,
        1586
      ],
      "op": "JUMP",
      "path": "90"
    },
    "509": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1550,
        1586
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "510": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1530,
        1586
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "511": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1530,
        1586
      ],
      "op": "POP",
      "path": "90"
    },
    "512": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1610,
        1615
      ],
      "op": "DUP6",
      "path": "90"
    },
    "513": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1600,
        1607
      ],
      "op": "DUP3",
      "path": "90"
    },
    "514": {
      "branch": 10,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1600,
        1615
      ],
      "op": "LT",
      "path": "90"
    },
    "515": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1600,
        1636
      ],
      "op": "DUP1",
      "path": "90"
    },
    "516": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1600,
        1636
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x20C"
    },
    "519": {
      "branch": 10,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1600,
        1636
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "520": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1600,
        1636
      ],
      "op": "POP",
      "path": "90"
    },
    "521": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1631,
        1636
      ],
      "op": "DUP6",
      "path": "90"
    },
    "522": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1619,
        1628
      ],
      "op": "DUP2",
      "path": "90"
    },
    "523": {
      "branch": 11,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1619,
        1636
      ],
      "op": "LT",
      "path": "90"
    },
    "524": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1600,
        1636
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "525": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1596,
        1753
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "526": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1596,
        1753
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x257"
    },
    "529": {
      "branch": 11,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1596,
        1753
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "530": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "PUSH1",
      "path": "90",
      "statement": 3,
      "value": "0x40"
    },
    "532": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "DUP1",
      "path": "90"
    },
    "533": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "534": {
      "op": "DUP4"
    },
    "535": {
      "op": "DUP2"
    },
    "536": {
      "op": "MSTORE"
    },
    "537": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "539": {
      "op": "DUP2"
    },
    "540": {
      "op": "ADD"
    },
    "541": {
      "op": "DUP4"
    },
    "542": {
      "op": "SWAP1"
    },
    "543": {
      "op": "MSTORE"
    },
    "544": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "PUSH32",
      "path": "90",
      "value": "0x80F73CF7014D047C01587FB6C83A8052D5088F7DC1AA8C47E37544397B9D643A"
    },
    "577": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "578": {
      "op": "ADD"
    },
    "579": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "581": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "582": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "DUP1",
      "path": "90"
    },
    "583": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "584": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "SUB",
      "path": "90"
    },
    "585": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "586": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1657,
        1716
      ],
      "op": "LOG1",
      "path": "90"
    },
    "587": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1737,
        1742
      ],
      "op": "PUSH1",
      "path": "90",
      "statement": 4,
      "value": "0x0"
    },
    "589": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "SWAP5",
      "path": "90"
    },
    "590": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "POP",
      "path": "90"
    },
    "591": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "POP",
      "path": "90"
    },
    "592": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "POP",
      "path": "90"
    },
    "593": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "POP",
      "path": "90"
    },
    "594": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "POP",
      "path": "90"
    },
    "595": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x68"
    },
    "598": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1730,
        1742
      ],
      "op": "JUMP",
      "path": "90"
    },
    "599": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1596,
        1753
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "600": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "602": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP1",
      "path": "90"
    },
    "603": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "604": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "606": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "608": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "610": {
      "op": "SHL"
    },
    "611": {
      "op": "SUB"
    },
    "612": {
      "op": "DUP11"
    },
    "613": {
      "op": "DUP2"
    },
    "614": {
      "op": "AND"
    },
    "615": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x24"
    },
    "617": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP4",
      "path": "90"
    },
    "618": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "ADD",
      "path": "90"
    },
    "619": {
      "op": "MSTORE"
    },
    "620": {
      "op": "DUP10"
    },
    "621": {
      "op": "DUP2"
    },
    "622": {
      "op": "AND"
    },
    "623": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "625": {
      "op": "DUP4"
    },
    "626": {
      "op": "ADD"
    },
    "627": {
      "op": "MSTORE"
    },
    "628": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "630": {
      "op": "DUP1"
    },
    "631": {
      "op": "DUP4"
    },
    "632": {
      "op": "ADD"
    },
    "633": {
      "op": "DUP11"
    },
    "634": {
      "op": "SWAP1"
    },
    "635": {
      "op": "MSTORE"
    },
    "636": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP4",
      "path": "90"
    },
    "637": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "638": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP1",
      "path": "90"
    },
    "639": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP5",
      "path": "90"
    },
    "640": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "SUB",
      "path": "90"
    },
    "641": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "642": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "643": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "ADD",
      "path": "90"
    },
    "644": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP2",
      "path": "90"
    },
    "645": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "646": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "648": {
      "op": "SWAP1"
    },
    "649": {
      "op": "SWAP3"
    },
    "650": {
      "op": "ADD"
    },
    "651": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP4",
      "path": "90"
    },
    "652": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "653": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x20"
    },
    "655": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP3",
      "path": "90"
    },
    "656": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "ADD",
      "path": "90"
    },
    "657": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "DUP1",
      "path": "90"
    },
    "658": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "659": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "661": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "663": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "665": {
      "op": "SHL"
    },
    "666": {
      "op": "SUB"
    },
    "667": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "AND",
      "path": "90"
    },
    "668": {
      "op": "PUSH4",
      "value": "0x23B872DD"
    },
    "673": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "675": {
      "op": "SHL"
    },
    "676": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "OR",
      "path": "90"
    },
    "677": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "678": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "679": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "680": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "681": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "683": {
      "op": "SWAP3"
    },
    "684": {
      "op": "DUP4"
    },
    "685": {
      "op": "SWAP3"
    },
    "686": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        1942
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "687": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        1942
      ],
      "op": "DUP14",
      "path": "90"
    },
    "688": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        1942
      ],
      "op": "AND",
      "path": "90"
    },
    "689": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        1942
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "690": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x2BB"
    },
    "693": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "694": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1956,
        2075
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "695": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x414"
    },
    "698": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        1923,
        2076
      ],
      "op": "JUMP",
      "path": "90"
    },
    "699": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "700": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "702": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "704": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "705": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP1",
      "path": "90"
    },
    "706": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP4",
      "path": "90"
    },
    "707": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "SUB",
      "path": "90"
    },
    "708": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP2",
      "path": "90"
    },
    "709": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "711": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP7",
      "path": "90"
    },
    "712": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "GAS",
      "path": "90"
    },
    "713": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "CALL",
      "path": "90"
    },
    "714": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "715": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "POP",
      "path": "90"
    },
    "716": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "POP",
      "path": "90"
    },
    "717": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "718": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP1",
      "path": "90"
    },
    "719": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "721": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP2",
      "path": "90"
    },
    "722": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "EQ",
      "path": "90"
    },
    "723": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x2F8"
    },
    "726": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "727": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "729": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "730": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "731": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "POP",
      "path": "90"
    },
    "732": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x1F"
    },
    "734": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "NOT",
      "path": "90"
    },
    "735": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x3F"
    },
    "737": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "738": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "ADD",
      "path": "90"
    },
    "739": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "AND",
      "path": "90"
    },
    "740": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP3",
      "path": "90"
    },
    "741": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "ADD",
      "path": "90"
    },
    "742": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "744": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "745": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "746": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP3",
      "path": "90"
    },
    "747": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "MSTORE",
      "path": "90"
    },
    "748": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "RETURNDATASIZE",
      "path": "90"
    },
    "749": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x0"
    },
    "751": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x20"
    },
    "753": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "DUP5",
      "path": "90"
    },
    "754": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "ADD",
      "path": "90"
    },
    "755": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "RETURNDATACOPY",
      "path": "90"
    },
    "756": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x2FD"
    },
    "759": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "JUMP",
      "path": "90"
    },
    "760": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "761": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x60"
    },
    "763": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "764": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "POP",
      "path": "90"
    },
    "765": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "766": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1923,
        2076
      ],
      "op": "POP",
      "path": "90"
    },
    "767": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1883,
        2076
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "768": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1883,
        2076
      ],
      "op": "POP",
      "path": "90"
    },
    "769": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1883,
        2076
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "770": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        1883,
        2076
      ],
      "op": "POP",
      "path": "90"
    },
    "771": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2097,
        2108
      ],
      "op": "DUP2",
      "path": "90",
      "statement": 5
    },
    "772": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2097,
        2215
      ],
      "op": "DUP1",
      "path": "90"
    },
    "773": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2097,
        2215
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "774": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2097,
        2215
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x333"
    },
    "777": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2097,
        2215
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "778": {
      "op": "POP"
    },
    "779": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2134,
        2145
      ],
      "op": "DUP1",
      "path": "90"
    },
    "780": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2134,
        2145
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "781": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2134,
        2150
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "782": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2113,
        2214
      ],
      "op": "DUP1",
      "path": "90"
    },
    "783": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2113,
        2214
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x333"
    },
    "786": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2113,
        2214
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "787": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2113,
        2214
      ],
      "op": "POP",
      "path": "90"
    },
    "788": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2172
      ],
      "op": "DUP1",
      "path": "90"
    },
    "789": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2179
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "790": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2183,
        2185
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x20"
    },
    "792": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2185
      ],
      "op": "EQ",
      "path": "90"
    },
    "793": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2213
      ],
      "op": "DUP1",
      "path": "90"
    },
    "794": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2213
      ],
      "op": "ISZERO",
      "path": "90"
    },
    "795": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2213
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x333"
    },
    "798": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2213
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "799": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2168,
        2213
      ],
      "op": "POP",
      "path": "90"
    },
    "800": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2200,
        2204
      ],
      "op": "DUP1",
      "path": "90"
    },
    "801": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "DUP1",
      "path": "90"
    },
    "802": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x20"
    },
    "804": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "ADD",
      "path": "90"
    },
    "805": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "806": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "807": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "DUP2",
      "path": "90"
    },
    "808": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "ADD",
      "path": "90"
    },
    "809": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "810": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x333"
    },
    "813": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "814": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "815": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x385"
    },
    "818": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        2189,
        2213
      ],
      "op": "JUMP",
      "path": "90"
    },
    "819": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2189,
        2213
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "820": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2087,
        2215
      ],
      "op": "SWAP7",
      "path": "90"
    },
    "821": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2087,
        2215
      ],
      "op": "POP",
      "path": "90"
    },
    "822": {
      "branch": 12,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2231,
        2238
      ],
      "op": "DUP7",
      "path": "90"
    },
    "823": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2226,
        2329
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x377"
    },
    "826": {
      "branch": 12,
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2226,
        2329
      ],
      "op": "JUMPI",
      "path": "90"
    },
    "827": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "PUSH32",
      "path": "90",
      "statement": 6,
      "value": "0x16B21B374049DCEBF0872579E85D4E9D5902788178B61BD82892C4B70584814B"
    },
    "860": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2287,
        2298
      ],
      "op": "DUP3",
      "path": "90"
    },
    "861": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2300,
        2304
      ],
      "op": "DUP3",
      "path": "90"
    },
    "862": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2300,
        2311
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "863": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2313,
        2317
      ],
      "op": "DUP4",
      "path": "90"
    },
    "864": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "866": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "867": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x36E"
    },
    "870": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "SWAP4",
      "path": "90"
    },
    "871": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "SWAP3",
      "path": "90"
    },
    "872": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "873": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "874": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "PUSH2",
      "path": "90",
      "value": "0x430"
    },
    "877": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "jump": "i",
      "offset": [
        2259,
        2318
      ],
      "op": "JUMP",
      "path": "90"
    },
    "878": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "879": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "PUSH1",
      "path": "90",
      "value": "0x40"
    },
    "881": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "MLOAD",
      "path": "90"
    },
    "882": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "DUP1",
      "path": "90"
    },
    "883": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "SWAP2",
      "path": "90"
    },
    "884": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "SUB",
      "path": "90"
    },
    "885": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "SWAP1",
      "path": "90"
    },
    "886": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2259,
        2318
      ],
      "op": "LOG1",
      "path": "90"
    },
    "887": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        2226,
        2329
      ],
      "op": "JUMPDEST",
      "path": "90"
    },
    "888": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "889": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "890": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "891": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "892": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "893": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "894": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "SWAP5",
      "path": "90"
    },
    "895": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "SWAP4",
      "path": "90"
    },
    "896": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "897": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "898": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "899": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "offset": [
        913,
        2335
      ],
      "op": "POP",
      "path": "90"
    },
    "900": {
      "fn": "TransferHelper.unifiedTransferFrom",
      "jump": "o",
      "offset": [
        913,
        2335
      ],
      "op": "JUMP",
      "path": "90"
    },
    "901": {
      "op": "JUMPDEST"
    },
    "902": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "904": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "906": {
      "op": "DUP3"
    },
    "907": {
      "op": "DUP5"
    },
    "908": {
      "op": "SUB"
    },
    "909": {
      "op": "SLT"
    },
    "910": {
      "op": "ISZERO"
    },
    "911": {
      "op": "PUSH2",
      "value": "0x396"
    },
    "914": {
      "op": "JUMPI"
    },
    "915": {
      "op": "DUP1"
    },
    "916": {
      "op": "DUP2"
    },
    "917": {
      "op": "REVERT"
    },
    "918": {
      "op": "JUMPDEST"
    },
    "919": {
      "op": "DUP2"
    },
    "920": {
      "op": "MLOAD"
    },
    "921": {
      "op": "DUP1"
    },
    "922": {
      "op": "ISZERO"
    },
    "923": {
      "op": "ISZERO"
    },
    "924": {
      "op": "DUP2"
    },
    "925": {
      "op": "EQ"
    },
    "926": {
      "op": "PUSH2",
      "value": "0x3A5"
    },
    "929": {
      "op": "JUMPI"
    },
    "930": {
      "op": "DUP2"
    },
    "931": {
      "op": "DUP3"
    },
    "932": {
      "op": "REVERT"
    },
    "933": {
      "op": "JUMPDEST"
    },
    "934": {
      "op": "SWAP4"
    },
    "935": {
      "op": "SWAP3"
    },
    "936": {
      "op": "POP"
    },
    "937": {
      "op": "POP"
    },
    "938": {
      "op": "POP"
    },
    "939": {
      "jump": "o",
      "op": "JUMP"
    },
    "940": {
      "op": "JUMPDEST"
    },
    "941": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "943": {
      "op": "DUP1"
    },
    "944": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "946": {
      "op": "DUP1"
    },
    "947": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "949": {
      "op": "DUP6"
    },
    "950": {
      "op": "DUP8"
    },
    "951": {
      "op": "SUB"
    },
    "952": {
      "op": "SLT"
    },
    "953": {
      "op": "ISZERO"
    },
    "954": {
      "op": "PUSH2",
      "value": "0x3C1"
    },
    "957": {
      "op": "JUMPI"
    },
    "958": {
      "op": "DUP3"
    },
    "959": {
      "op": "DUP4"
    },
    "960": {
      "op": "REVERT"
    },
    "961": {
      "op": "JUMPDEST"
    },
    "962": {
      "op": "DUP5"
    },
    "963": {
      "op": "CALLDATALOAD"
    },
    "964": {
      "op": "PUSH2",
      "value": "0x3CC"
    },
    "967": {
      "op": "DUP2"
    },
    "968": {
      "op": "PUSH2",
      "value": "0x4A3"
    },
    "971": {
      "jump": "i",
      "op": "JUMP"
    },
    "972": {
      "op": "JUMPDEST"
    },
    "973": {
      "op": "SWAP4"
    },
    "974": {
      "op": "POP"
    },
    "975": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "977": {
      "op": "DUP6"
    },
    "978": {
      "op": "ADD"
    },
    "979": {
      "op": "CALLDATALOAD"
    },
    "980": {
      "op": "PUSH2",
      "value": "0x3DC"
    },
    "983": {
      "op": "DUP2"
    },
    "984": {
      "op": "PUSH2",
      "value": "0x4A3"
    },
    "987": {
      "jump": "i",
      "op": "JUMP"
    },
    "988": {
      "op": "JUMPDEST"
    },
    "989": {
      "op": "SWAP3"
    },
    "990": {
      "op": "POP"
    },
    "991": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "993": {
      "op": "DUP6"
    },
    "994": {
      "op": "ADD"
    },
    "995": {
      "op": "CALLDATALOAD"
    },
    "996": {
      "op": "PUSH2",
      "value": "0x3EC"
    },
    "999": {
      "op": "DUP2"
    },
    "1000": {
      "op": "PUSH2",
      "value": "0x4A3"
    },
    "1003": {
      "jump": "i",
      "op": "JUMP"
    },
    "1004": {
      "op": "JUMPDEST"
    },
    "1005": {
      "op": "SWAP4"
    },
    "1006": {
      "op": "SWAP7"
    },
    "1007": {
      "op": "SWAP3"
    },
    "1008": {
      "op": "SWAP6"
    },
    "1009": {
      "op": "POP"
    },
    "1010": {
      "op": "SWAP3"
    },
    "1011": {
      "op": "SWAP4"
    },
    "1012": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "1014": {
      "op": "ADD"
    },
    "1015": {
      "op": "CALLDATALOAD"
    },
    "1016": {
      "op": "SWAP3"
    },
    "1017": {
      "op": "POP"
    },
    "1018": {
      "op": "POP"
    },
    "1019": {
      "jump": "o",
      "op": "JUMP"
    },
    "1020": {
      "op": "JUMPDEST"
    },
    "1021": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1023": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1025": {
      "op": "DUP3"
    },
    "1026": {
      "op": "DUP5"
    },
    "1027": {
      "op": "SUB"
    },
    "1028": {
      "op": "SLT"
    },
    "1029": {
      "op": "ISZERO"
    },
    "1030": {
      "op": "PUSH2",
      "value": "0x40D"
    },
    "1033": {
      "op": "JUMPI"
    },
    "1034": {
      "op": "DUP1"
    },
    "1035": {
      "op": "DUP2"
    },
    "1036": {
      "op": "REVERT"
    },
    "1037": {
      "op": "JUMPDEST"
    },
    "1038": {
      "op": "POP"
    },
    "1039": {
      "op": "MLOAD"
    },
    "1040": {
      "op": "SWAP2"
    },
    "1041": {
      "op": "SWAP1"
    },
    "1042": {
      "op": "POP"
    },
    "1043": {
      "jump": "o",
      "op": "JUMP"
    },
    "1044": {
      "op": "JUMPDEST"
    },
    "1045": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1047": {
      "op": "DUP3"
    },
    "1048": {
      "op": "MLOAD"
    },
    "1049": {
      "op": "PUSH2",
      "value": "0x426"
    },
    "1052": {
      "op": "DUP2"
    },
    "1053": {
      "op": "DUP5"
    },
    "1054": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1056": {
      "op": "DUP8"
    },
    "1057": {
      "op": "ADD"
    },
    "1058": {
      "op": "PUSH2",
      "value": "0x473"
    },
    "1061": {
      "jump": "i",
      "op": "JUMP"
    },
    "1062": {
      "op": "JUMPDEST"
    },
    "1063": {
      "op": "SWAP2"
    },
    "1064": {
      "op": "SWAP1"
    },
    "1065": {
      "op": "SWAP2"
    },
    "1066": {
      "op": "ADD"
    },
    "1067": {
      "op": "SWAP3"
    },
    "1068": {
      "op": "SWAP2"
    },
    "1069": {
      "op": "POP"
    },
    "1070": {
      "op": "POP"
    },
    "1071": {
      "jump": "o",
      "op": "JUMP"
    },
    "1072": {
      "op": "JUMPDEST"
    },
    "1073": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1075": {
      "op": "DUP5"
    },
    "1076": {
      "op": "ISZERO"
    },
    "1077": {
      "op": "ISZERO"
    },
    "1078": {
      "op": "DUP3"
    },
    "1079": {
      "op": "MSTORE"
    },
    "1080": {
      "op": "DUP4"
    },
    "1081": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1083": {
      "op": "DUP4"
    },
    "1084": {
      "op": "ADD"
    },
    "1085": {
      "op": "MSTORE"
    },
    "1086": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "1088": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "1090": {
      "op": "DUP4"
    },
    "1091": {
      "op": "ADD"
    },
    "1092": {
      "op": "MSTORE"
    },
    "1093": {
      "op": "DUP3"
    },
    "1094": {
      "op": "MLOAD"
    },
    "1095": {
      "op": "DUP1"
    },
    "1096": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "1098": {
      "op": "DUP5"
    },
    "1099": {
      "op": "ADD"
    },
    "1100": {
      "op": "MSTORE"
    },
    "1101": {
      "op": "PUSH2",
      "value": "0x45D"
    },
    "1104": {
      "op": "DUP2"
    },
    "1105": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "1107": {
      "op": "DUP6"
    },
    "1108": {
      "op": "ADD"
    },
    "1109": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1111": {
      "op": "DUP8"
    },
    "1112": {
      "op": "ADD"
    },
    "1113": {
      "op": "PUSH2",
      "value": "0x473"
    },
    "1116": {
      "jump": "i",
      "op": "JUMP"
    },
    "1117": {
      "op": "JUMPDEST"
    },
    "1118": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "1120": {
      "op": "ADD"
    },
    "1121": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "1123": {
      "op": "NOT"
    },
    "1124": {
      "op": "AND"
    },
    "1125": {
      "op": "SWAP2"
    },
    "1126": {
      "op": "SWAP1"
    },
    "1127": {
      "op": "SWAP2"
    },
    "1128": {
      "op": "ADD"
    },
    "1129": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "1131": {
      "op": "ADD"
    },
    "1132": {
      "op": "SWAP5"
    },
    "1133": {
      "op": "SWAP4"
    },
    "1134": {
      "op": "POP"
    },
    "1135": {
      "op": "POP"
    },
    "1136": {
      "op": "POP"
    },
    "1137": {
      "op": "POP"
    },
    "1138": {
      "jump": "o",
      "op": "JUMP"
    },
    "1139": {
      "op": "JUMPDEST"
    },
    "1140": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1142": {
      "op": "JUMPDEST"
    },
    "1143": {
      "op": "DUP4"
    },
    "1144": {
      "op": "DUP2"
    },
    "1145": {
      "op": "LT"
    },
    "1146": {
      "op": "ISZERO"
    },
    "1147": {
      "op": "PUSH2",
      "value": "0x48E"
    },
    "1150": {
      "op": "JUMPI"
    },
    "1151": {
      "op": "DUP2"
    },
    "1152": {
      "op": "DUP2"
    },
    "1153": {
      "op": "ADD"
    },
    "1154": {
      "op": "MLOAD"
    },
    "1155": {
      "op": "DUP4"
    },
    "1156": {
      "op": "DUP3"
    },
    "1157": {
      "op": "ADD"
    },
    "1158": {
      "op": "MSTORE"
    },
    "1159": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1161": {
      "op": "ADD"
    },
    "1162": {
      "op": "PUSH2",
      "value": "0x476"
    },
    "1165": {
      "op": "JUMP"
    },
    "1166": {
      "op": "JUMPDEST"
    },
    "1167": {
      "op": "DUP4"
    },
    "1168": {
      "op": "DUP2"
    },
    "1169": {
      "op": "GT"
    },
    "1170": {
      "op": "ISZERO"
    },
    "1171": {
      "op": "PUSH2",
      "value": "0x49D"
    },
    "1174": {
      "op": "JUMPI"
    },
    "1175": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1177": {
      "op": "DUP5"
    },
    "1178": {
      "op": "DUP5"
    },
    "1179": {
      "op": "ADD"
    },
    "1180": {
      "op": "MSTORE"
    },
    "1181": {
      "op": "JUMPDEST"
    },
    "1182": {
      "op": "POP"
    },
    "1183": {
      "op": "POP"
    },
    "1184": {
      "op": "POP"
    },
    "1185": {
      "op": "POP"
    },
    "1186": {
      "jump": "o",
      "op": "JUMP"
    },
    "1187": {
      "op": "JUMPDEST"
    },
    "1188": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1190": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1192": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1194": {
      "op": "SHL"
    },
    "1195": {
      "op": "SUB"
    },
    "1196": {
      "op": "DUP2"
    },
    "1197": {
      "op": "AND"
    },
    "1198": {
      "op": "DUP2"
    },
    "1199": {
      "op": "EQ"
    },
    "1200": {
      "op": "PUSH2",
      "value": "0x4B8"
    },
    "1203": {
      "op": "JUMPI"
    },
    "1204": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1206": {
      "op": "DUP1"
    },
    "1207": {
      "op": "REVERT"
    },
    "1208": {
      "op": "JUMPDEST"
    },
    "1209": {
      "op": "POP"
    },
    "1210": {
      "jump": "o",
      "op": "JUMP"
    }
  },
  "sha1": "f1492edd015a877963402afc7a20b18073016c9d",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"../shared/TransferHelper.sol\";\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\ncontract TestTransferFrom {\n\n    event LogTransferHelperInputValidation1Failed(bool tokenIsContract, address from, address to);\n    event LogTransferHelperInputValidation2Failed(uint256 balance, uint256 allowance);\n    event LogTransferHelperCallFailed(bool callSuccess, uint256 returnDataLength, bytes returnData);\n\n    function unifiedTransferFrom(\n        IERC20 token, \n        address from, \n        address to, \n        uint256 amount\n    ) \n        external \n        returns(bool)\n    {\n        return TransferHelper.unifiedTransferFrom(token, from, to, amount);\n    }\n\n}\n",
  "sourceMap": "161:578:100:-:0;;;;;;;;;;;;;;;;;;;",
  "sourcePath": "contracts/test/TestTransferFrom.sol",
  "type": "contract"
}