{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IBaseOracle",
          "name": "_base",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "contract IBaseOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "getETHPx",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "38": "contracts/oracle/UniswapV2Oracle.sol",
    "39": "contracts/oracle/UsingBaseOracle.sol",
    "4": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol",
    "51": "contracts/utils/HomoraMath.sol",
    "58": "interfaces/IBaseOracle.sol",
    "70": "interfaces/IUniswapV2Pair.sol"
  },
  "ast": {
    "absolutePath": "contracts/oracle/UniswapV2Oracle.sol",
    "exportedSymbols": {
      "UniswapV2Oracle": [
        14177
      ]
    },
    "id": 14178,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 14054,
        "literals": [
          "solidity",
          "0.6",
          ".12"
        ],
        "nodeType": "PragmaDirective",
        "src": "33:23:38"
      },
      {
        "absolutePath": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol",
        "file": "OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol",
        "id": 14055,
        "nodeType": "ImportDirective",
        "scope": 14178,
        "sourceUnit": 23725,
        "src": "58:79:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/oracle/UsingBaseOracle.sol",
        "file": "./UsingBaseOracle.sol",
        "id": 14056,
        "nodeType": "ImportDirective",
        "scope": 14178,
        "sourceUnit": 14194,
        "src": "139:31:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/utils/HomoraMath.sol",
        "file": "../utils/HomoraMath.sol",
        "id": 14057,
        "nodeType": "ImportDirective",
        "scope": 14178,
        "sourceUnit": 21784,
        "src": "171:33:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IBaseOracle.sol",
        "file": "../../interfaces/IBaseOracle.sol",
        "id": 14058,
        "nodeType": "ImportDirective",
        "scope": 14178,
        "sourceUnit": 25210,
        "src": "205:42:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IUniswapV2Pair.sol",
        "file": "../../interfaces/IUniswapV2Pair.sol",
        "id": 14059,
        "nodeType": "ImportDirective",
        "scope": 14178,
        "sourceUnit": 25577,
        "src": "248:45:38",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 14060,
              "name": "UsingBaseOracle",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 14193,
              "src": "323:15:38",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_UsingBaseOracle_$14193",
                "typeString": "contract UsingBaseOracle"
              }
            },
            "id": 14061,
            "nodeType": "InheritanceSpecifier",
            "src": "323:15:38"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 14062,
              "name": "IBaseOracle",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 25209,
              "src": "340:11:38",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                "typeString": "contract IBaseOracle"
              }
            },
            "id": 14063,
            "nodeType": "InheritanceSpecifier",
            "src": "340:11:38"
          }
        ],
        "contractDependencies": [
          14193,
          25209
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 14177,
        "linearizedBaseContracts": [
          14177,
          25209,
          14193
        ],
        "name": "UniswapV2Oracle",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 14066,
            "libraryName": {
              "contractScope": null,
              "id": 14064,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 23724,
              "src": "362:8:38",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$23724",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "356:24:38",
            "typeName": {
              "id": 14065,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "375:4:38",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 14069,
            "libraryName": {
              "contractScope": null,
              "id": 14067,
              "name": "HomoraMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 21783,
              "src": "389:10:38",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_HomoraMath_$21783",
                "typeString": "library HomoraMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "383:26:38",
            "typeName": {
              "id": 14068,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "404:4:38",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "body": {
              "id": 14077,
              "nodeType": "Block",
              "src": "474:2:38",
              "statements": []
            },
            "documentation": null,
            "id": 14078,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 14074,
                    "name": "_base",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 14071,
                    "src": "467:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                      "typeString": "contract IBaseOracle"
                    }
                  }
                ],
                "id": 14075,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 14073,
                  "name": "UsingBaseOracle",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 14193,
                  "src": "451:15:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_UsingBaseOracle_$14193_$",
                    "typeString": "type(contract UsingBaseOracle)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "451:22:38"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 14072,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14071,
                  "mutability": "mutable",
                  "name": "_base",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 14078,
                  "src": "425:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                    "typeString": "contract IBaseOracle"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 14070,
                    "name": "IBaseOracle",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 25209,
                    "src": "425:11:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                      "typeString": "contract IBaseOracle"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "424:19:38"
            },
            "returnParameters": {
              "id": 14076,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "474:0:38"
            },
            "scope": 14177,
            "src": "413:63:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              25208
            ],
            "body": {
              "id": 14175,
              "nodeType": "Block",
              "src": "691:728:38",
              "statements": [
                {
                  "assignments": [
                    14088
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 14088,
                      "mutability": "mutable",
                      "name": "token0",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "697:14:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 14087,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "697:7:38",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 14094,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14090,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14081,
                            "src": "729:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 14089,
                          "name": "IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25576,
                          "src": "714:14:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$25576_$",
                            "typeString": "type(contract IUniswapV2Pair)"
                          }
                        },
                        "id": 14091,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "714:20:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IUniswapV2Pair_$25576",
                          "typeString": "contract IUniswapV2Pair"
                        }
                      },
                      "id": 14092,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "token0",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25504,
                      "src": "714:27:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 14093,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "714:29:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "697:46:38"
                },
                {
                  "assignments": [
                    14096
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 14096,
                      "mutability": "mutable",
                      "name": "token1",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "749:14:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 14095,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "749:7:38",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 14102,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14098,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14081,
                            "src": "781:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 14097,
                          "name": "IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25576,
                          "src": "766:14:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$25576_$",
                            "typeString": "type(contract IUniswapV2Pair)"
                          }
                        },
                        "id": 14099,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "766:20:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IUniswapV2Pair_$25576",
                          "typeString": "contract IUniswapV2Pair"
                        }
                      },
                      "id": 14100,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "token1",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25509,
                      "src": "766:27:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                        "typeString": "function () view external returns (address)"
                      }
                    },
                    "id": 14101,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "766:29:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "749:46:38"
                },
                {
                  "assignments": [
                    14104
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 14104,
                      "mutability": "mutable",
                      "name": "totalSupply",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "801:16:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 14103,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "801:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 14110,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14106,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14081,
                            "src": "835:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 14105,
                          "name": "IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25576,
                          "src": "820:14:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$25576_$",
                            "typeString": "type(contract IUniswapV2Pair)"
                          }
                        },
                        "id": 14107,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "820:20:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IUniswapV2Pair_$25576",
                          "typeString": "contract IUniswapV2Pair"
                        }
                      },
                      "id": 14108,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalSupply",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25372,
                      "src": "820:32:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                        "typeString": "function () view external returns (uint256)"
                      }
                    },
                    "id": 14109,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "820:34:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "801:53:38"
                },
                {
                  "assignments": [
                    14112,
                    14114,
                    null
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 14112,
                      "mutability": "mutable",
                      "name": "r0",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "861:7:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 14111,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "861:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 14114,
                      "mutability": "mutable",
                      "name": "r1",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "870:7:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 14113,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "870:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    null
                  ],
                  "id": 14120,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14116,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14081,
                            "src": "898:4:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 14115,
                          "name": "IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25576,
                          "src": "883:14:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$25576_$",
                            "typeString": "type(contract IUniswapV2Pair)"
                          }
                        },
                        "id": 14117,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "883:20:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IUniswapV2Pair_$25576",
                          "typeString": "contract IUniswapV2Pair"
                        }
                      },
                      "id": 14118,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getReserves",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25518,
                      "src": "883:32:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$",
                        "typeString": "function () view external returns (uint112,uint112,uint32)"
                      }
                    },
                    "id": 14119,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "883:34:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$",
                      "typeString": "tuple(uint112,uint112,uint32)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "860:57:38"
                },
                {
                  "assignments": [
                    14122
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 14122,
                      "mutability": "mutable",
                      "name": "sqrtK",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "923:10:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 14121,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "923:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 14133,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 14131,
                        "name": "totalSupply",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14104,
                        "src": "969:11:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 14127,
                                "name": "r1",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 14114,
                                "src": "959:2:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 14125,
                                "name": "r0",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 14112,
                                "src": "952:2:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 14126,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "mul",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23607,
                              "src": "952:6:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 14128,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "952:10:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 14123,
                            "name": "HomoraMath",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21783,
                            "src": "936:10:38",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_HomoraMath_$21783_$",
                              "typeString": "type(library HomoraMath)"
                            }
                          },
                          "id": 14124,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sqrt",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 21782,
                          "src": "936:15:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$",
                            "typeString": "function (uint256) pure returns (uint256)"
                          }
                        },
                        "id": 14129,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "936:27:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 14130,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "fdiv",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 21582,
                      "src": "936:32:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 14132,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "936:45:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "923:58:38"
                },
                {
                  "assignments": [
                    14135
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 14135,
                      "mutability": "mutable",
                      "name": "px0",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "1000:8:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 14134,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "1000:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 14140,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 14138,
                        "name": "token0",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14088,
                        "src": "1025:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 14136,
                        "name": "base",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14182,
                        "src": "1011:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                          "typeString": "contract IBaseOracle"
                        }
                      },
                      "id": 14137,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getETHPx",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25208,
                      "src": "1011:13:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 14139,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1011:21:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1000:32:38"
                },
                {
                  "assignments": [
                    14142
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 14142,
                      "mutability": "mutable",
                      "name": "px1",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 14175,
                      "src": "1051:8:38",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 14141,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "1051:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 14147,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 14145,
                        "name": "token1",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14096,
                        "src": "1076:6:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 14143,
                        "name": "base",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14182,
                        "src": "1062:4:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                          "typeString": "contract IBaseOracle"
                        }
                      },
                      "id": 14144,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getETHPx",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25208,
                      "src": "1062:13:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 14146,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1062:21:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1051:32:38"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_72057594037927936_by_1",
                          "typeString": "int_const 72057594037927936"
                        },
                        "id": 14172,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 14170,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1408:1:38",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "**",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "3536",
                          "id": 14171,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1411:2:38",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_56_by_1",
                            "typeString": "int_const 56"
                          },
                          "value": "56"
                        },
                        "src": "1408:5:38",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_72057594037927936_by_1",
                          "typeString": "int_const 72057594037927936"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_72057594037927936_by_1",
                          "typeString": "int_const 72057594037927936"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 14166,
                                "name": "px1",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 14142,
                                "src": "1398:3:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 14164,
                                "name": "HomoraMath",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21783,
                                "src": "1382:10:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_HomoraMath_$21783_$",
                                  "typeString": "type(library HomoraMath)"
                                }
                              },
                              "id": 14165,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sqrt",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 21782,
                              "src": "1382:15:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (uint256) pure returns (uint256)"
                              }
                            },
                            "id": 14167,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1382:20:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_rational_72057594037927936_by_1",
                                  "typeString": "int_const 72057594037927936"
                                },
                                "id": 14161,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "32",
                                  "id": 14159,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "1371:1:38",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  },
                                  "value": "2"
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "**",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "3536",
                                  "id": 14160,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "1374:2:38",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_56_by_1",
                                    "typeString": "int_const 56"
                                  },
                                  "value": "56"
                                },
                                "src": "1371:5:38",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_72057594037927936_by_1",
                                  "typeString": "int_const 72057594037927936"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_72057594037927936_by_1",
                                  "typeString": "int_const 72057594037927936"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 14155,
                                        "name": "px0",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 14135,
                                        "src": "1361:3:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 14153,
                                        "name": "HomoraMath",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21783,
                                        "src": "1345:10:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_HomoraMath_$21783_$",
                                          "typeString": "type(library HomoraMath)"
                                        }
                                      },
                                      "id": 14154,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "sqrt",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 21782,
                                      "src": "1345:15:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$",
                                        "typeString": "function (uint256) pure returns (uint256)"
                                      }
                                    },
                                    "id": 14156,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1345:20:38",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "hexValue": "32",
                                        "id": 14150,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "1338:1:38",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_2_by_1",
                                          "typeString": "int_const 2"
                                        },
                                        "value": "2"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_2_by_1",
                                          "typeString": "int_const 2"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 14148,
                                        "name": "sqrtK",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 14122,
                                        "src": "1328:5:38",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "id": 14149,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "mul",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 23607,
                                      "src": "1328:9:38",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                                      }
                                    },
                                    "id": 14151,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1328:12:38",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 14152,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "mul",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 23607,
                                  "src": "1328:16:38",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 14157,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1328:38:38",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 14158,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "div",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23629,
                              "src": "1328:42:38",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 14162,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1328:49:38",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 14163,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "1328:53:38",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 14168,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1328:75:38",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 14169,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "1328:79:38",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 14173,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1328:86:38",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 14086,
                  "id": 14174,
                  "nodeType": "Return",
                  "src": "1321:93:38"
                }
              ]
            },
            "documentation": {
              "id": 14079,
              "nodeType": "StructuredDocumentation",
              "src": "480:138:38",
              "text": "@dev Return the value of the given input as ETH per unit, multiplied by 2**112.\n @param pair The Uniswap pair to check the value."
            },
            "functionSelector": "ab9aadfe",
            "id": 14176,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getETHPx",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 14083,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "667:8:38"
            },
            "parameters": {
              "id": 14082,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14081,
                  "mutability": "mutable",
                  "name": "pair",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 14176,
                  "src": "639:12:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14080,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "639:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "638:14:38"
            },
            "returnParameters": {
              "id": 14086,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14085,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 14176,
                  "src": "685:4:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14084,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "685:4:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "684:6:38"
            },
            "scope": 14177,
            "src": "621:798:38",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 14178,
        "src": "295:1126:38"
      }
    ],
    "src": "33:1389:38"
  },
  "bytecode": "60a060405234801561001057600080fd5b506040516107313803806107318339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166106c161007060003980609952806102be528061037d52506106c16000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635001f3b51461003b578063ab9aadfe1461005f575b600080fd5b610043610097565b604080516001600160a01b039092168252519081900360200190f35b6100856004803603602081101561007557600080fd5b50356001600160a01b03166100bb565b60408051918252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000081565b600080826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156100f757600080fd5b505afa15801561010b573d6000803e3d6000fd5b505050506040513d602081101561012157600080fd5b50516040805163d21220a760e01b815290519192506000916001600160a01b0386169163d21220a7916004808301926020929190829003018186803b15801561016957600080fd5b505afa15801561017d573d6000803e3d6000fd5b505050506040513d602081101561019357600080fd5b5051604080516318160ddd60e01b815290519192506000916001600160a01b038716916318160ddd916004808301926020929190829003018186803b1580156101db57600080fd5b505afa1580156101ef573d6000803e3d6000fd5b505050506040513d602081101561020557600080fd5b505160408051630240bc6b60e21b8152905191925060009182916001600160a01b03891691630902f1ac91600480820192606092909190829003018186803b15801561025057600080fd5b505afa158015610264573d6000803e3d6000fd5b505050506040513d606081101561027a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060006102b8846102b26102ad8686610443565b6104a5565b906105eb565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561032957600080fd5b505afa15801561033d573d6000803e3d6000fd5b505050506040513d602081101561035357600080fd5b5051604080516355cd56ff60e11b81526001600160a01b03898116600483015291519293506000927f00000000000000000000000000000000000000000000000000000000000000009092169163ab9aadfe91602480820192602092909190829003018186803b1580156103c657600080fd5b505afa1580156103da573d6000803e3d6000fd5b505050506040513d60208110156103f057600080fd5b50519050610433600160381b61042d610408846104a5565b610427600160381b61042d61041c896104a5565b6104278b6002610443565b90610443565b9061060b565b985050505050505050505b919050565b6000826104525750600061049f565b8282028284828161045f57fe5b041461049c5760405162461bcd60e51b815260040180806020018281038252602181526020018061066b6021913960400191505060405180910390fd5b90505b92915050565b6000816104b45750600061043e565b816001600160801b82106104cd5760809190911c9060401b5b6801000000000000000082106104e85760409190911c9060201b5b64010000000082106104ff5760209190911c9060101b5b6201000082106105145760109190911c9060081b5b61010082106105285760089190911c9060041b5b6010821061053b5760049190911c9060021b5b600882106105475760011b5b600181858161055257fe5b048201901c9050600181858161056457fe5b048201901c9050600181858161057657fe5b048201901c9050600181858161058857fe5b048201901c9050600181858161059a57fe5b048201901c905060018185816105ac57fe5b048201901c905060018185816105be57fe5b048201901c905060008185816105d057fe5b0490508082106105e057806105e2565b815b95945050505050565b6000816105fc84600160701b610443565b8161060357fe5b049392505050565b6000808211610661576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161060357fefe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122038cd6a2bf6b038d49e05a49d92445585d0deb7f2c862b740610cee974339f18264736f6c634300060c0033",
  "bytecodeSha1": "c50fbb039b15c888828f112c3c2b82316c390c97",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.6.12+commit.27d51765"
  },
  "contractName": "UniswapV2Oracle",
  "coverageMap": {
    "branches": {
      "38": {},
      "39": {},
      "4": {
        "SafeMath.div": {
          "40": [
            4302,
            4307,
            true
          ]
        },
        "SafeMath.mul": {
          "38": [
            3619,
            3625,
            false
          ],
          "39": [
            3680,
            3690,
            true
          ]
        }
      },
      "51": {
        "HomoraMath.sqrt": {
          "29": [
            814,
            820,
            false
          ],
          "30": [
            874,
            915,
            false
          ],
          "31": [
            968,
            993,
            false
          ],
          "32": [
            1044,
            1061,
            false
          ],
          "33": [
            1112,
            1125,
            false
          ],
          "34": [
            1175,
            1186,
            false
          ],
          "35": [
            1235,
            1245,
            false
          ],
          "36": [
            1294,
            1303,
            false
          ],
          "37": [
            1581,
            1587,
            true
          ]
        }
      },
      "58": {},
      "70": {}
    },
    "statements": {
      "38": {
        "UniswapV2Oracle.getETHPx": {
          "0": [
            1321,
            1414
          ]
        }
      },
      "39": {},
      "4": {
        "SafeMath.div": {
          "27": [
            4294,
            4338
          ],
          "28": [
            4348,
            4360
          ]
        },
        "SafeMath.mul": {
          "1": [
            3627,
            3635
          ],
          "2": [
            3672,
            3728
          ],
          "3": [
            3738,
            3746
          ]
        }
      },
      "51": {
        "HomoraMath.fdiv": {
          "26": [
            480,
            508
          ]
        },
        "HomoraMath.sqrt": {
          "4": [
            822,
            830
          ],
          "5": [
            925,
            935
          ],
          "6": [
            943,
            951
          ],
          "7": [
            1003,
            1012
          ],
          "8": [
            1020,
            1028
          ],
          "9": [
            1071,
            1080
          ],
          "10": [
            1088,
            1096
          ],
          "11": [
            1135,
            1144
          ],
          "12": [
            1152,
            1159
          ],
          "13": [
            1196,
            1204
          ],
          "14": [
            1212,
            1219
          ],
          "15": [
            1255,
            1263
          ],
          "16": [
            1271,
            1278
          ],
          "17": [
            1313,
            1320
          ],
          "18": [
            1333,
            1353
          ],
          "19": [
            1359,
            1379
          ],
          "20": [
            1385,
            1405
          ],
          "21": [
            1411,
            1431
          ],
          "22": [
            1437,
            1457
          ],
          "23": [
            1463,
            1483
          ],
          "24": [
            1489,
            1509
          ],
          "25": [
            1573,
            1597
          ]
        }
      },
      "58": {},
      "70": {}
    }
  },
  "dependencies": [
    "HomoraMath",
    "IBaseOracle",
    "IUniswapV2Pair",
    "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath",
    "UsingBaseOracle"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106100365760003560e01c80635001f3b51461003b578063ab9aadfe1461005f575b600080fd5b610043610097565b604080516001600160a01b039092168252519081900360200190f35b6100856004803603602081101561007557600080fd5b50356001600160a01b03166100bb565b60408051918252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000081565b600080826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156100f757600080fd5b505afa15801561010b573d6000803e3d6000fd5b505050506040513d602081101561012157600080fd5b50516040805163d21220a760e01b815290519192506000916001600160a01b0386169163d21220a7916004808301926020929190829003018186803b15801561016957600080fd5b505afa15801561017d573d6000803e3d6000fd5b505050506040513d602081101561019357600080fd5b5051604080516318160ddd60e01b815290519192506000916001600160a01b038716916318160ddd916004808301926020929190829003018186803b1580156101db57600080fd5b505afa1580156101ef573d6000803e3d6000fd5b505050506040513d602081101561020557600080fd5b505160408051630240bc6b60e21b8152905191925060009182916001600160a01b03891691630902f1ac91600480820192606092909190829003018186803b15801561025057600080fd5b505afa158015610264573d6000803e3d6000fd5b505050506040513d606081101561027a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060006102b8846102b26102ad8686610443565b6104a5565b906105eb565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561032957600080fd5b505afa15801561033d573d6000803e3d6000fd5b505050506040513d602081101561035357600080fd5b5051604080516355cd56ff60e11b81526001600160a01b03898116600483015291519293506000927f00000000000000000000000000000000000000000000000000000000000000009092169163ab9aadfe91602480820192602092909190829003018186803b1580156103c657600080fd5b505afa1580156103da573d6000803e3d6000fd5b505050506040513d60208110156103f057600080fd5b50519050610433600160381b61042d610408846104a5565b610427600160381b61042d61041c896104a5565b6104278b6002610443565b90610443565b9061060b565b985050505050505050505b919050565b6000826104525750600061049f565b8282028284828161045f57fe5b041461049c5760405162461bcd60e51b815260040180806020018281038252602181526020018061066b6021913960400191505060405180910390fd5b90505b92915050565b6000816104b45750600061043e565b816001600160801b82106104cd5760809190911c9060401b5b6801000000000000000082106104e85760409190911c9060201b5b64010000000082106104ff5760209190911c9060101b5b6201000082106105145760109190911c9060081b5b61010082106105285760089190911c9060041b5b6010821061053b5760049190911c9060021b5b600882106105475760011b5b600181858161055257fe5b048201901c9050600181858161056457fe5b048201901c9050600181858161057657fe5b048201901c9050600181858161058857fe5b048201901c9050600181858161059a57fe5b048201901c905060018185816105ac57fe5b048201901c905060018185816105be57fe5b048201901c905060008185816105d057fe5b0490508082106105e057806105e2565b815b95945050505050565b6000816105fc84600160701b610443565b8161060357fe5b049392505050565b6000808211610661576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161060357fefe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122038cd6a2bf6b038d49e05a49d92445585d0deb7f2c862b740610cee974339f18264736f6c634300060c0033",
  "deployedSourceMap": "295:1126:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;131:33:39;;;:::i;:::-;;;;-1:-1:-1;;;;;131:33:39;;;;;;;;;;;;;;621:798:38;;;;;;;;;;;;;;;;-1:-1:-1;621:798:38;-1:-1:-1;;;;;621:798:38;;:::i;:::-;;;;;;;;;;;;;;;;131:33:39;;;:::o;621:798:38:-;685:4;697:14;729:4;-1:-1:-1;;;;;714:27:38;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;714:29:38;766;;;-1:-1:-1;;;766:29:38;;;;714;;-1:-1:-1;749:14:38;;-1:-1:-1;;;;;766:27:38;;;;;:29;;;;;714;;766;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;766:29:38;820:34;;;-1:-1:-1;;;820:34:38;;;;766:29;;-1:-1:-1;801:16:38;;-1:-1:-1;;;;;820:32:38;;;;;:34;;;;;766:29;;820:34;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;820:34:38;883;;;-1:-1:-1;;;883:34:38;;;;820;;-1:-1:-1;861:7:38;;;;-1:-1:-1;;;;;883:32:38;;;;;:34;;;;;;;;;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;883:34:38;;;;;;;860:57;;;;;-1:-1:-1;860:57:38;;-1:-1:-1;923:10:38;936:45;969:11;936:27;952:10;860:57;;952:6;:10::i;:::-;936:15;:27::i;:::-;:32;;:45::i;:::-;923:58;;1000:8;1011:4;-1:-1:-1;;;;;1011:13:38;;1025:6;1011:21;;;;;;;;;;;;;-1:-1:-1;;;;;1011:21:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1011:21:38;1062;;;-1:-1:-1;;;1062:21:38;;-1:-1:-1;;;;;1062:21:38;;;;;;;;;1011;;-1:-1:-1;;;1062:4:38;:13;;;;;;:21;;;;;1011;;1062;;;;;;;;:13;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1062:21:38;;-1:-1:-1;1328:86:38;-1:-1:-1;;;1328:75:38;1382:20;1062:21;1382:15;:20::i;:::-;1328:49;-1:-1:-1;;;1328:38:38;1345:20;1361:3;1345:15;:20::i;:::-;1328:12;:5;1338:1;1328:9;:12::i;:::-;:16;;:38::i;:::-;:42;;:49::i;:86::-;1321:93;;;;;;;;;;621:798;;;;:::o;3538:215:4:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:4;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:4;;;;;:::o;753:849:51:-;798:4;814:6;810:20;;-1:-1:-1;829:1:51;822:8;;810:20;846:1;862;-1:-1:-1;;;874:41:51;;870:88;;932:3;925:10;;;;;949:2;943:8;870:88;974:19;968:2;:25;964:71;;1010:2;1003:9;;;;;1026:2;1020:8;964:71;1050:11;1044:2;:17;1040:63;;1078:2;1071:9;;;;;1094:2;1088:8;1040:63;1118:7;1112:2;:13;1108:58;;1142:2;1135:9;;;;;1158:1;1152:7;1108:58;1181:5;1175:2;:11;1171:55;;1203:1;1196:8;;;;;1218:1;1212:7;1171:55;1241:4;1235:2;:10;1231:54;;1262:1;1255:8;;;;;1277:1;1271:7;1231:54;1300:3;1294:2;:9;1290:37;;1319:1;1313:7;1290:37;1352:1;1346;1342;:5;;;;;;1338:1;:9;1337:16;;1333:20;;1378:1;1372;1368;:5;;;;;;1364:1;:9;1363:16;;1359:20;;1404:1;1398;1394;:5;;;;;;1390:1;:9;1389:16;;1385:20;;1430:1;1424;1420;:5;;;;;;1416:1;:9;1415:16;;1411:20;;1456:1;1450;1446;:5;;;;;;1442:1;:9;1441:16;;1437:20;;1482:1;1476;1472;:5;;;;;;1468:1;:9;1467:16;;1463:20;;1508:1;1502;1498;:5;;;;;;1494:1;:9;1493:16;;1489:20;;1552:7;1566:1;1562;:5;;;;;;1552:15;;1585:2;1581:1;:6;:15;;1594:2;1581:15;;;1590:1;1581:15;1573:24;753:849;-1:-1:-1;;;;;753:849:51:o;411:102::-;468:4;505:3;487:15;:3;-1:-1:-1;;;487:7:51;:15::i;:::-;:21;;;;;;;411:102;-1:-1:-1;;;411:102:51:o;4217:150:4:-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {
      "getETHPx(address)": {
        "details": "Return the value of the given input as ETH per unit, multiplied by 2**112.",
        "params": {
          "pair": "The Uniswap pair to check the value."
        }
      }
    },
    "version": 1
  },
  "offset": [
    295,
    1421
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5001F3B5 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xAB9AADFE EQ PUSH2 0x5F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x97 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xDFE1681 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x121 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0xD21220A7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP2 PUSH4 0xD21220A7 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x193 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x18160DDD PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP2 PUSH4 0x18160DDD SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x240BC6B PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND SWAP2 PUSH4 0x902F1AC SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x60 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x264 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x27A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND SWAP4 POP AND SWAP1 POP PUSH1 0x0 PUSH2 0x2B8 DUP5 PUSH2 0x2B2 PUSH2 0x2AD DUP7 DUP7 PUSH2 0x443 JUMP JUMPDEST PUSH2 0x4A5 JUMP JUMPDEST SWAP1 PUSH2 0x5EB JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xAB9AADFE DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x329 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x33D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x353 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x55CD56FF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP2 MLOAD SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 PUSH32 0x0 SWAP1 SWAP3 AND SWAP2 PUSH4 0xAB9AADFE SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3DA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH2 0x433 PUSH1 0x1 PUSH1 0x38 SHL PUSH2 0x42D PUSH2 0x408 DUP5 PUSH2 0x4A5 JUMP JUMPDEST PUSH2 0x427 PUSH1 0x1 PUSH1 0x38 SHL PUSH2 0x42D PUSH2 0x41C DUP10 PUSH2 0x4A5 JUMP JUMPDEST PUSH2 0x427 DUP12 PUSH1 0x2 PUSH2 0x443 JUMP JUMPDEST SWAP1 PUSH2 0x443 JUMP JUMPDEST SWAP1 PUSH2 0x60B JUMP JUMPDEST SWAP9 POP POP POP POP POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x452 JUMPI POP PUSH1 0x0 PUSH2 0x49F JUMP JUMPDEST DUP3 DUP3 MUL DUP3 DUP5 DUP3 DUP2 PUSH2 0x45F JUMPI INVALID JUMPDEST DIV EQ PUSH2 0x49C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x66B PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x4B4 JUMPI POP PUSH1 0x0 PUSH2 0x43E JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL DUP3 LT PUSH2 0x4CD JUMPI PUSH1 0x80 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x40 SHL JUMPDEST PUSH9 0x10000000000000000 DUP3 LT PUSH2 0x4E8 JUMPI PUSH1 0x40 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x20 SHL JUMPDEST PUSH5 0x100000000 DUP3 LT PUSH2 0x4FF JUMPI PUSH1 0x20 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x10 SHL JUMPDEST PUSH3 0x10000 DUP3 LT PUSH2 0x514 JUMPI PUSH1 0x10 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x8 SHL JUMPDEST PUSH2 0x100 DUP3 LT PUSH2 0x528 JUMPI PUSH1 0x8 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x4 SHL JUMPDEST PUSH1 0x10 DUP3 LT PUSH2 0x53B JUMPI PUSH1 0x4 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x2 SHL JUMPDEST PUSH1 0x8 DUP3 LT PUSH2 0x547 JUMPI PUSH1 0x1 SHL JUMPDEST PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x552 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x564 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x576 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x588 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x59A JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x5AC JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x5BE JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x0 DUP2 DUP6 DUP2 PUSH2 0x5D0 JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT PUSH2 0x5E0 JUMPI DUP1 PUSH2 0x5E2 JUMP JUMPDEST DUP2 JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x5FC DUP5 PUSH1 0x1 PUSH1 0x70 SHL PUSH2 0x443 JUMP JUMPDEST DUP2 PUSH2 0x603 JUMPI INVALID JUMPDEST DIV SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x661 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206469766973696F6E206279207A65726F000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP2 DUP4 DUP2 PUSH2 0x603 JUMPI INVALID INVALID MSTORE8 PUSH2 0x6665 0x4D PUSH2 0x7468 GASPRICE KECCAK256 PUSH14 0x756C7469706C69636174696F6E20 PUSH16 0x766572666C6F77A26469706673582212 KECCAK256 CODESIZE 0xCD PUSH11 0x2BF6B038D49E05A49D9244 SSTORE DUP6 0xD0 0xDE 0xB7 CALLCODE 0xC8 PUSH3 0xB74061 0xC 0xEE SWAP8 NUMBER CODECOPY CALL DUP3 PUSH5 0x736F6C6343 STOP MOD 0xC STOP CALLER ",
  "pcMap": {
    "0": {
      "offset": [
        295,
        1421
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "5": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "CALLVALUE",
      "path": "38"
    },
    "6": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "DUP1",
      "path": "38"
    },
    "7": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "8": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "12": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "DUP1",
      "path": "38"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "REVERT",
      "path": "38"
    },
    "16": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "17": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "POP",
      "path": "38"
    },
    "18": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "CALLDATASIZE",
      "path": "38"
    },
    "21": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "LT",
      "path": "38"
    },
    "22": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x36"
    },
    "25": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "26": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "CALLDATALOAD",
      "path": "38"
    },
    "29": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "SHR",
      "path": "38"
    },
    "32": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "DUP1",
      "path": "38"
    },
    "33": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0x5001F3B5"
    },
    "38": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "EQ",
      "path": "38"
    },
    "39": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x3B"
    },
    "42": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "43": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "DUP1",
      "path": "38"
    },
    "44": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0xAB9AADFE"
    },
    "49": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "EQ",
      "path": "38"
    },
    "50": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x5F"
    },
    "53": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "54": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "55": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "57": {
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "DUP1",
      "path": "38"
    },
    "58": {
      "first_revert": true,
      "fn": null,
      "offset": [
        295,
        1421
      ],
      "op": "REVERT",
      "path": "38"
    },
    "59": {
      "offset": [
        131,
        164
      ],
      "op": "JUMPDEST",
      "path": "39"
    },
    "60": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "PUSH2",
      "path": "39",
      "value": "0x43"
    },
    "63": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "PUSH2",
      "path": "39",
      "value": "0x97"
    },
    "66": {
      "fn": null,
      "jump": "i",
      "offset": [
        131,
        164
      ],
      "op": "JUMP",
      "path": "39"
    },
    "67": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "JUMPDEST",
      "path": "39"
    },
    "68": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "PUSH1",
      "path": "39",
      "value": "0x40"
    },
    "70": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "DUP1",
      "path": "39"
    },
    "71": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "MLOAD",
      "path": "39"
    },
    "72": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "74": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "76": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "78": {
      "op": "SHL"
    },
    "79": {
      "op": "SUB"
    },
    "80": {
      "offset": [
        131,
        164
      ],
      "op": "SWAP1",
      "path": "39"
    },
    "81": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "SWAP3",
      "path": "39"
    },
    "82": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "AND",
      "path": "39"
    },
    "83": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "DUP3",
      "path": "39"
    },
    "84": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "MSTORE",
      "path": "39"
    },
    "85": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "MLOAD",
      "path": "39"
    },
    "86": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "SWAP1",
      "path": "39"
    },
    "87": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "DUP2",
      "path": "39"
    },
    "88": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "SWAP1",
      "path": "39"
    },
    "89": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "SUB",
      "path": "39"
    },
    "90": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "PUSH1",
      "path": "39",
      "value": "0x20"
    },
    "92": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "ADD",
      "path": "39"
    },
    "93": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "SWAP1",
      "path": "39"
    },
    "94": {
      "fn": null,
      "offset": [
        131,
        164
      ],
      "op": "RETURN",
      "path": "39"
    },
    "95": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "96": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x85"
    },
    "99": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "101": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "DUP1",
      "path": "38"
    },
    "102": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "CALLDATASIZE",
      "path": "38"
    },
    "103": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SUB",
      "path": "38"
    },
    "104": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "106": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "DUP2",
      "path": "38"
    },
    "107": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "LT",
      "path": "38"
    },
    "108": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "109": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x75"
    },
    "112": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "113": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "115": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "DUP1",
      "path": "38"
    },
    "116": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "REVERT",
      "path": "38"
    },
    "117": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "118": {
      "op": "POP"
    },
    "119": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "CALLDATALOAD",
      "path": "38"
    },
    "120": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "122": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "124": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "126": {
      "op": "SHL"
    },
    "127": {
      "op": "SUB"
    },
    "128": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "AND",
      "path": "38"
    },
    "129": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0xBB"
    },
    "132": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        621,
        1419
      ],
      "op": "JUMP",
      "path": "38"
    },
    "133": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "134": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "136": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "DUP1",
      "path": "38"
    },
    "137": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "138": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "139": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "DUP3",
      "path": "38"
    },
    "140": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "141": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "142": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "143": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "DUP2",
      "path": "38"
    },
    "144": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "145": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SUB",
      "path": "38"
    },
    "146": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "148": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "ADD",
      "path": "38"
    },
    "149": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "150": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "RETURN",
      "path": "38"
    },
    "151": {
      "offset": [
        131,
        164
      ],
      "op": "JUMPDEST",
      "path": "39"
    },
    "152": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        131,
        164
      ],
      "op": "PUSH32",
      "path": "39",
      "value": "0x0"
    },
    "185": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        131,
        164
      ],
      "op": "DUP2",
      "path": "39"
    },
    "186": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "o",
      "offset": [
        131,
        164
      ],
      "op": "JUMP",
      "path": "39"
    },
    "187": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "188": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        685,
        689
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "190": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        697,
        711
      ],
      "op": "DUP1",
      "path": "38"
    },
    "191": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        729,
        733
      ],
      "op": "DUP3",
      "path": "38"
    },
    "192": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "194": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "196": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "198": {
      "op": "SHL"
    },
    "199": {
      "op": "SUB"
    },
    "200": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        741
      ],
      "op": "AND",
      "path": "38"
    },
    "201": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        741
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0xDFE1681"
    },
    "206": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "208": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "209": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP2",
      "path": "38"
    },
    "210": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0xFFFFFFFF"
    },
    "215": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "AND",
      "path": "38"
    },
    "216": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0xE0"
    },
    "218": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "SHL",
      "path": "38"
    },
    "219": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP2",
      "path": "38"
    },
    "220": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "221": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "223": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "ADD",
      "path": "38"
    },
    "224": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "226": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "228": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "229": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP1",
      "path": "38"
    },
    "230": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP4",
      "path": "38"
    },
    "231": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "SUB",
      "path": "38"
    },
    "232": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP2",
      "path": "38"
    },
    "233": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP7",
      "path": "38"
    },
    "234": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP1",
      "path": "38"
    },
    "235": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "EXTCODESIZE",
      "path": "38"
    },
    "236": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "237": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP1",
      "path": "38"
    },
    "238": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "239": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0xF7"
    },
    "242": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "243": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "245": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP1",
      "path": "38"
    },
    "246": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "REVERT",
      "path": "38"
    },
    "247": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "248": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "POP",
      "path": "38"
    },
    "249": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "GAS",
      "path": "38"
    },
    "250": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "STATICCALL",
      "path": "38"
    },
    "251": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "252": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP1",
      "path": "38"
    },
    "253": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "254": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x10B"
    },
    "257": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "258": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "259": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "261": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP1",
      "path": "38"
    },
    "262": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "RETURNDATACOPY",
      "path": "38"
    },
    "263": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "264": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "266": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "REVERT",
      "path": "38"
    },
    "267": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "268": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "POP",
      "path": "38"
    },
    "269": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "POP",
      "path": "38"
    },
    "270": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "POP",
      "path": "38"
    },
    "271": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "POP",
      "path": "38"
    },
    "272": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "274": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "275": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "276": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "278": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP2",
      "path": "38"
    },
    "279": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "LT",
      "path": "38"
    },
    "280": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "281": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x121"
    },
    "284": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "285": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "287": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "DUP1",
      "path": "38"
    },
    "288": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "REVERT",
      "path": "38"
    },
    "289": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "290": {
      "op": "POP"
    },
    "291": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "292": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "294": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "295": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "296": {
      "op": "PUSH4",
      "value": "0xD21220A7"
    },
    "301": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "303": {
      "op": "SHL"
    },
    "304": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP2",
      "path": "38"
    },
    "305": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "306": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "307": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "308": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "309": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "310": {
      "op": "POP"
    },
    "311": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        749,
        763
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "313": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        749,
        763
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "314": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "316": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "318": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "320": {
      "op": "SHL"
    },
    "321": {
      "op": "SUB"
    },
    "322": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        793
      ],
      "op": "DUP7",
      "path": "38"
    },
    "323": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        793
      ],
      "op": "AND",
      "path": "38"
    },
    "324": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        793
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "325": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        793
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0xD21220A7"
    },
    "330": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        793
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "331": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "333": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "334": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP4",
      "path": "38"
    },
    "335": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "ADD",
      "path": "38"
    },
    "336": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "337": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "339": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        714,
        743
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "340": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "341": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "342": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP3",
      "path": "38"
    },
    "343": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "344": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SUB",
      "path": "38"
    },
    "345": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "ADD",
      "path": "38"
    },
    "346": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP2",
      "path": "38"
    },
    "347": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        793
      ],
      "op": "DUP7",
      "path": "38"
    },
    "348": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "349": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "EXTCODESIZE",
      "path": "38"
    },
    "350": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "351": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "352": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "353": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x169"
    },
    "356": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "357": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "359": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "360": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "REVERT",
      "path": "38"
    },
    "361": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "362": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "POP",
      "path": "38"
    },
    "363": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "GAS",
      "path": "38"
    },
    "364": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "STATICCALL",
      "path": "38"
    },
    "365": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "366": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "367": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "368": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x17D"
    },
    "371": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "372": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "373": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "375": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "376": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "RETURNDATACOPY",
      "path": "38"
    },
    "377": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "378": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "380": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "REVERT",
      "path": "38"
    },
    "381": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "382": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "POP",
      "path": "38"
    },
    "383": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "POP",
      "path": "38"
    },
    "384": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "POP",
      "path": "38"
    },
    "385": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "POP",
      "path": "38"
    },
    "386": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "388": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "389": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "390": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "392": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP2",
      "path": "38"
    },
    "393": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "LT",
      "path": "38"
    },
    "394": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "395": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x193"
    },
    "398": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "399": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "401": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "DUP1",
      "path": "38"
    },
    "402": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "REVERT",
      "path": "38"
    },
    "403": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "404": {
      "op": "POP"
    },
    "405": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "406": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "408": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "409": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "410": {
      "op": "PUSH4",
      "value": "0x18160DDD"
    },
    "415": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "417": {
      "op": "SHL"
    },
    "418": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP2",
      "path": "38"
    },
    "419": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "420": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "421": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "422": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "423": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "424": {
      "op": "POP"
    },
    "425": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        801,
        817
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "427": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        801,
        817
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "428": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "430": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "432": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "434": {
      "op": "SHL"
    },
    "435": {
      "op": "SUB"
    },
    "436": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        852
      ],
      "op": "DUP8",
      "path": "38"
    },
    "437": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        852
      ],
      "op": "AND",
      "path": "38"
    },
    "438": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        852
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "439": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        852
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0x18160DDD"
    },
    "444": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        852
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "445": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "447": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "448": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP4",
      "path": "38"
    },
    "449": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "ADD",
      "path": "38"
    },
    "450": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "451": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "453": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        766,
        795
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "454": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "455": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "456": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP3",
      "path": "38"
    },
    "457": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "458": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SUB",
      "path": "38"
    },
    "459": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "ADD",
      "path": "38"
    },
    "460": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP2",
      "path": "38"
    },
    "461": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        852
      ],
      "op": "DUP7",
      "path": "38"
    },
    "462": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "463": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "EXTCODESIZE",
      "path": "38"
    },
    "464": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "465": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "466": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "467": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x1DB"
    },
    "470": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "471": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "473": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "474": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "REVERT",
      "path": "38"
    },
    "475": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "476": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "POP",
      "path": "38"
    },
    "477": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "GAS",
      "path": "38"
    },
    "478": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "STATICCALL",
      "path": "38"
    },
    "479": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "480": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "481": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "482": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x1EF"
    },
    "485": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "486": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "487": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "489": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "490": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "RETURNDATACOPY",
      "path": "38"
    },
    "491": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "492": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "494": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "REVERT",
      "path": "38"
    },
    "495": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "496": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "POP",
      "path": "38"
    },
    "497": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "POP",
      "path": "38"
    },
    "498": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "POP",
      "path": "38"
    },
    "499": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "POP",
      "path": "38"
    },
    "500": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "502": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "503": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "504": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "506": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP2",
      "path": "38"
    },
    "507": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "LT",
      "path": "38"
    },
    "508": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "509": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x205"
    },
    "512": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "513": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "515": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "DUP1",
      "path": "38"
    },
    "516": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "REVERT",
      "path": "38"
    },
    "517": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "518": {
      "op": "POP"
    },
    "519": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "520": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "522": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "523": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "524": {
      "op": "PUSH4",
      "value": "0x240BC6B"
    },
    "529": {
      "op": "PUSH1",
      "value": "0xE2"
    },
    "531": {
      "op": "SHL"
    },
    "532": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP2",
      "path": "38"
    },
    "533": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "534": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "535": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "536": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "537": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        820,
        854
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "538": {
      "op": "POP"
    },
    "539": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        861,
        868
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "541": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        861,
        868
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "542": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        861,
        868
      ],
      "op": "DUP3",
      "path": "38"
    },
    "543": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        861,
        868
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "544": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "546": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "548": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "550": {
      "op": "SHL"
    },
    "551": {
      "op": "SUB"
    },
    "552": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        915
      ],
      "op": "DUP10",
      "path": "38"
    },
    "553": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        915
      ],
      "op": "AND",
      "path": "38"
    },
    "554": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        915
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "555": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        915
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0x902F1AC"
    },
    "560": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        915
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "561": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "563": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "564": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP3",
      "path": "38"
    },
    "565": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ADD",
      "path": "38"
    },
    "566": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "567": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x60"
    },
    "569": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "570": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "571": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "572": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "573": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP3",
      "path": "38"
    },
    "574": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "575": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SUB",
      "path": "38"
    },
    "576": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ADD",
      "path": "38"
    },
    "577": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP2",
      "path": "38"
    },
    "578": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        915
      ],
      "op": "DUP7",
      "path": "38"
    },
    "579": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "580": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "EXTCODESIZE",
      "path": "38"
    },
    "581": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "582": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "583": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "584": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x250"
    },
    "587": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "588": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "590": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "591": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "REVERT",
      "path": "38"
    },
    "592": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "593": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "POP",
      "path": "38"
    },
    "594": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "GAS",
      "path": "38"
    },
    "595": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "STATICCALL",
      "path": "38"
    },
    "596": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "597": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "598": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "599": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x264"
    },
    "602": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "603": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "604": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "606": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "607": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "RETURNDATACOPY",
      "path": "38"
    },
    "608": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "609": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "611": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "REVERT",
      "path": "38"
    },
    "612": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "613": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "POP",
      "path": "38"
    },
    "614": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "POP",
      "path": "38"
    },
    "615": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "POP",
      "path": "38"
    },
    "616": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "POP",
      "path": "38"
    },
    "617": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "619": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "620": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "621": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x60"
    },
    "623": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP2",
      "path": "38"
    },
    "624": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "LT",
      "path": "38"
    },
    "625": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "626": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x27A"
    },
    "629": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "630": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "632": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "633": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "REVERT",
      "path": "38"
    },
    "634": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "635": {
      "op": "POP"
    },
    "636": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "DUP1",
      "path": "38"
    },
    "637": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "638": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "640": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "641": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "642": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "ADD",
      "path": "38"
    },
    "643": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        883,
        917
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "644": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "PUSH14",
      "path": "38",
      "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
    },
    "659": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "660": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "DUP3",
      "path": "38"
    },
    "661": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "AND",
      "path": "38"
    },
    "662": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "SWAP4",
      "path": "38"
    },
    "663": {
      "op": "POP"
    },
    "664": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "AND",
      "path": "38"
    },
    "665": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "666": {
      "op": "POP"
    },
    "667": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        923,
        933
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "669": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        936,
        981
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x2B8"
    },
    "672": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        969,
        980
      ],
      "op": "DUP5",
      "path": "38"
    },
    "673": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        936,
        963
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x2B2"
    },
    "676": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        952,
        962
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x2AD"
    },
    "679": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "DUP7",
      "path": "38"
    },
    "680": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        860,
        917
      ],
      "op": "DUP7",
      "path": "38"
    },
    "681": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        952,
        958
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x443"
    },
    "684": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        952,
        962
      ],
      "op": "JUMP",
      "path": "38"
    },
    "685": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        952,
        962
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "686": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        936,
        951
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x4A5"
    },
    "689": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        936,
        963
      ],
      "op": "JUMP",
      "path": "38"
    },
    "690": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        936,
        963
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "691": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        936,
        968
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "692": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        936,
        968
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x5EB"
    },
    "695": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        936,
        981
      ],
      "op": "JUMP",
      "path": "38"
    },
    "696": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        936,
        981
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "697": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        923,
        981
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "698": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        923,
        981
      ],
      "op": "POP",
      "path": "38"
    },
    "699": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1000,
        1008
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "701": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1015
      ],
      "op": "PUSH32",
      "path": "38",
      "value": "0x0"
    },
    "734": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "736": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "738": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "740": {
      "op": "SHL"
    },
    "741": {
      "op": "SUB"
    },
    "742": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1024
      ],
      "op": "AND",
      "path": "38"
    },
    "743": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1024
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0xAB9AADFE"
    },
    "748": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1025,
        1031
      ],
      "op": "DUP9",
      "path": "38"
    },
    "749": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "751": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "752": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP3",
      "path": "38"
    },
    "753": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0xFFFFFFFF"
    },
    "758": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "AND",
      "path": "38"
    },
    "759": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0xE0"
    },
    "761": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "SHL",
      "path": "38"
    },
    "762": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP2",
      "path": "38"
    },
    "763": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "764": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "766": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "ADD",
      "path": "38"
    },
    "767": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "768": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP3",
      "path": "38"
    },
    "769": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "771": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "773": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "775": {
      "op": "SHL"
    },
    "776": {
      "op": "SUB"
    },
    "777": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "AND",
      "path": "38"
    },
    "778": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP2",
      "path": "38"
    },
    "779": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "780": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "782": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "ADD",
      "path": "38"
    },
    "783": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "784": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "POP",
      "path": "38"
    },
    "785": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "POP",
      "path": "38"
    },
    "786": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "788": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "790": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "791": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "792": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP4",
      "path": "38"
    },
    "793": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "SUB",
      "path": "38"
    },
    "794": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP2",
      "path": "38"
    },
    "795": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP7",
      "path": "38"
    },
    "796": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "797": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "EXTCODESIZE",
      "path": "38"
    },
    "798": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "799": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "800": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "801": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x329"
    },
    "804": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "805": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "807": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "808": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "REVERT",
      "path": "38"
    },
    "809": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "810": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "POP",
      "path": "38"
    },
    "811": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "GAS",
      "path": "38"
    },
    "812": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "STATICCALL",
      "path": "38"
    },
    "813": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "814": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "815": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "816": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x33D"
    },
    "819": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "820": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "821": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "823": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "824": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "RETURNDATACOPY",
      "path": "38"
    },
    "825": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "826": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "828": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "REVERT",
      "path": "38"
    },
    "829": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "830": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "POP",
      "path": "38"
    },
    "831": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "POP",
      "path": "38"
    },
    "832": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "POP",
      "path": "38"
    },
    "833": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "POP",
      "path": "38"
    },
    "834": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "836": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "837": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "838": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "840": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP2",
      "path": "38"
    },
    "841": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "LT",
      "path": "38"
    },
    "842": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "843": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x353"
    },
    "846": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "847": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "849": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "DUP1",
      "path": "38"
    },
    "850": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "REVERT",
      "path": "38"
    },
    "851": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "852": {
      "op": "POP"
    },
    "853": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "854": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "856": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "857": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "858": {
      "op": "PUSH4",
      "value": "0x55CD56FF"
    },
    "863": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "865": {
      "op": "SHL"
    },
    "866": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP2",
      "path": "38"
    },
    "867": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "868": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "870": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "872": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "874": {
      "op": "SHL"
    },
    "875": {
      "op": "SUB"
    },
    "876": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP10",
      "path": "38"
    },
    "877": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP2",
      "path": "38"
    },
    "878": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "AND",
      "path": "38"
    },
    "879": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x4"
    },
    "881": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP4",
      "path": "38"
    },
    "882": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ADD",
      "path": "38"
    },
    "883": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "MSTORE",
      "path": "38"
    },
    "884": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "885": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "886": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "887": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "SWAP4",
      "path": "38"
    },
    "888": {
      "op": "POP"
    },
    "889": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "891": {
      "op": "SWAP3"
    },
    "892": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1066
      ],
      "op": "PUSH32",
      "path": "38",
      "value": "0x0"
    },
    "925": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1075
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "926": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1075
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "927": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1075
      ],
      "op": "AND",
      "path": "38"
    },
    "928": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1075
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "929": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1075
      ],
      "op": "PUSH4",
      "path": "38",
      "value": "0xAB9AADFE"
    },
    "934": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1075
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "935": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x24"
    },
    "937": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "938": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP3",
      "path": "38"
    },
    "939": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ADD",
      "path": "38"
    },
    "940": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "941": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "943": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1011,
        1032
      ],
      "op": "SWAP3",
      "path": "38"
    },
    "944": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "945": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "946": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "947": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP3",
      "path": "38"
    },
    "948": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "949": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SUB",
      "path": "38"
    },
    "950": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ADD",
      "path": "38"
    },
    "951": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP2",
      "path": "38"
    },
    "952": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1075
      ],
      "op": "DUP7",
      "path": "38"
    },
    "953": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "954": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "EXTCODESIZE",
      "path": "38"
    },
    "955": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "956": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "957": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "958": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x3C6"
    },
    "961": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "962": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "964": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "965": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "REVERT",
      "path": "38"
    },
    "966": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "967": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "POP",
      "path": "38"
    },
    "968": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "GAS",
      "path": "38"
    },
    "969": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "STATICCALL",
      "path": "38"
    },
    "970": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "971": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "972": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "973": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x3DA"
    },
    "976": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "977": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "978": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "980": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "981": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "RETURNDATACOPY",
      "path": "38"
    },
    "982": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "983": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "985": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "REVERT",
      "path": "38"
    },
    "986": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "987": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "POP",
      "path": "38"
    },
    "988": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "POP",
      "path": "38"
    },
    "989": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "POP",
      "path": "38"
    },
    "990": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "POP",
      "path": "38"
    },
    "991": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x40"
    },
    "993": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "994": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "RETURNDATASIZE",
      "path": "38"
    },
    "995": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x20"
    },
    "997": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP2",
      "path": "38"
    },
    "998": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "LT",
      "path": "38"
    },
    "999": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "ISZERO",
      "path": "38"
    },
    "1000": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x3F0"
    },
    "1003": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "JUMPI",
      "path": "38"
    },
    "1004": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x0"
    },
    "1006": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP1",
      "path": "38"
    },
    "1007": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "REVERT",
      "path": "38"
    },
    "1008": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "1009": {
      "op": "POP"
    },
    "1010": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "MLOAD",
      "path": "38"
    },
    "1011": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "1012": {
      "op": "POP"
    },
    "1013": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1414
      ],
      "op": "PUSH2",
      "path": "38",
      "statement": 0,
      "value": "0x433"
    },
    "1016": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1018": {
      "op": "PUSH1",
      "value": "0x38"
    },
    "1020": {
      "op": "SHL"
    },
    "1021": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1403
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x42D"
    },
    "1024": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1382,
        1402
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x408"
    },
    "1027": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1062,
        1083
      ],
      "op": "DUP5",
      "path": "38"
    },
    "1028": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1382,
        1397
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x4A5"
    },
    "1031": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        1382,
        1402
      ],
      "op": "JUMP",
      "path": "38"
    },
    "1032": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1382,
        1402
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "1033": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1377
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x427"
    },
    "1036": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1038": {
      "op": "PUSH1",
      "value": "0x38"
    },
    "1040": {
      "op": "SHL"
    },
    "1041": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1366
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x42D"
    },
    "1044": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1345,
        1365
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x41C"
    },
    "1047": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1361,
        1364
      ],
      "op": "DUP10",
      "path": "38"
    },
    "1048": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1345,
        1360
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x4A5"
    },
    "1051": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        1345,
        1365
      ],
      "op": "JUMP",
      "path": "38"
    },
    "1052": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1345,
        1365
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "1053": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1340
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x427"
    },
    "1056": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1333
      ],
      "op": "DUP12",
      "path": "38"
    },
    "1057": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1338,
        1339
      ],
      "op": "PUSH1",
      "path": "38",
      "value": "0x2"
    },
    "1059": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1337
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x443"
    },
    "1062": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        1328,
        1340
      ],
      "op": "JUMP",
      "path": "38"
    },
    "1063": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1340
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "1064": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1344
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "1065": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1344
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x443"
    },
    "1068": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        1328,
        1366
      ],
      "op": "JUMP",
      "path": "38"
    },
    "1069": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1366
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "1070": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1370
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "1071": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1370
      ],
      "op": "PUSH2",
      "path": "38",
      "value": "0x60B"
    },
    "1074": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "i",
      "offset": [
        1328,
        1377
      ],
      "op": "JUMP",
      "path": "38"
    },
    "1075": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1328,
        1414
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "1076": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "SWAP9",
      "path": "38"
    },
    "1077": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1078": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1079": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1080": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1081": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1082": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1083": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1084": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1085": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        1321,
        1414
      ],
      "op": "POP",
      "path": "38"
    },
    "1086": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "JUMPDEST",
      "path": "38"
    },
    "1087": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SWAP2",
      "path": "38"
    },
    "1088": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "SWAP1",
      "path": "38"
    },
    "1089": {
      "fn": "UniswapV2Oracle.getETHPx",
      "offset": [
        621,
        1419
      ],
      "op": "POP",
      "path": "38"
    },
    "1090": {
      "fn": "UniswapV2Oracle.getETHPx",
      "jump": "o",
      "offset": [
        621,
        1419
      ],
      "op": "JUMP",
      "path": "38"
    },
    "1091": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1092": {
      "fn": "SafeMath.mul",
      "offset": [
        3596,
        3603
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "1094": {
      "branch": 38,
      "fn": "SafeMath.mul",
      "offset": [
        3619,
        3625
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1095": {
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x452"
    },
    "1098": {
      "branch": 38,
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1099": {
      "op": "POP"
    },
    "1100": {
      "fn": "SafeMath.mul",
      "offset": [
        3634,
        3635
      ],
      "op": "PUSH1",
      "path": "4",
      "statement": 1,
      "value": "0x0"
    },
    "1102": {
      "fn": "SafeMath.mul",
      "offset": [
        3627,
        3635
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x49F"
    },
    "1105": {
      "fn": "SafeMath.mul",
      "offset": [
        3627,
        3635
      ],
      "op": "JUMP",
      "path": "4"
    },
    "1106": {
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1107": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1108": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1109": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "MUL",
      "path": "4"
    },
    "1110": {
      "fn": "SafeMath.mul",
      "offset": [
        3661,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1111": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3658
      ],
      "op": "DUP5",
      "path": "4"
    },
    "1112": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1113": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3658
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1114": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "PUSH2",
      "path": "4",
      "statement": 2,
      "value": "0x45F"
    },
    "1117": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1118": {
      "dev": "Division by zero",
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "INVALID",
      "path": "4"
    },
    "1119": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1120": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "DIV",
      "path": "4"
    },
    "1121": {
      "branch": 39,
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3690
      ],
      "op": "EQ",
      "path": "4"
    },
    "1122": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x49C"
    },
    "1125": {
      "branch": 39,
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1126": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1128": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1129": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1133": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1135": {
      "op": "SHL"
    },
    "1136": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1137": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1138": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "1140": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "1141": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1142": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1143": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "1145": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "1146": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1147": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1148": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SUB",
      "path": "4"
    },
    "1149": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1150": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1151": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x21"
    },
    "1153": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1154": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1155": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "1157": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "1158": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1159": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x66B"
    },
    "1162": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x21"
    },
    "1164": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "1165": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "CODECOPY",
      "path": "4"
    },
    "1166": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1168": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "1169": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "1170": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "POP",
      "path": "4"
    },
    "1171": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "POP",
      "path": "4"
    },
    "1172": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1174": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1175": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1176": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "1177": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SUB",
      "path": "4"
    },
    "1178": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1179": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "REVERT",
      "path": "4"
    },
    "1180": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1181": {
      "fn": "SafeMath.mul",
      "offset": [
        3745,
        3746
      ],
      "op": "SWAP1",
      "path": "4",
      "statement": 3
    },
    "1182": {
      "op": "POP"
    },
    "1183": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1184": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "SWAP3",
      "path": "4"
    },
    "1185": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "1186": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "POP",
      "path": "4"
    },
    "1187": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "POP",
      "path": "4"
    },
    "1188": {
      "fn": "SafeMath.mul",
      "jump": "o",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMP",
      "path": "4"
    },
    "1189": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        753,
        1602
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1190": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        798,
        802
      ],
      "op": "PUSH1",
      "path": "51",
      "value": "0x0"
    },
    "1192": {
      "branch": 29,
      "fn": "HomoraMath.sqrt",
      "offset": [
        814,
        820
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1193": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        810,
        830
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x4B4"
    },
    "1196": {
      "branch": 29,
      "fn": "HomoraMath.sqrt",
      "offset": [
        810,
        830
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1197": {
      "op": "POP"
    },
    "1198": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        829,
        830
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 4,
      "value": "0x0"
    },
    "1200": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        822,
        830
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x43E"
    },
    "1203": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        822,
        830
      ],
      "op": "JUMP",
      "path": "51"
    },
    "1204": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        810,
        830
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1205": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        846,
        847
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1206": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        862,
        863
      ],
      "op": "PUSH1",
      "path": "51",
      "value": "0x1"
    },
    "1208": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1210": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "1212": {
      "op": "SHL"
    },
    "1213": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        874,
        915
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1214": {
      "branch": 30,
      "fn": "HomoraMath.sqrt",
      "offset": [
        874,
        915
      ],
      "op": "LT",
      "path": "51"
    },
    "1215": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        870,
        958
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x4CD"
    },
    "1218": {
      "branch": 30,
      "fn": "HomoraMath.sqrt",
      "offset": [
        870,
        958
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1219": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        932,
        935
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 5,
      "value": "0x80"
    },
    "1221": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        925,
        935
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1222": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        925,
        935
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1223": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        925,
        935
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1224": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        925,
        935
      ],
      "op": "SHR",
      "path": "51"
    },
    "1225": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        925,
        935
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1226": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        949,
        951
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 6,
      "value": "0x40"
    },
    "1228": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        943,
        951
      ],
      "op": "SHL",
      "path": "51"
    },
    "1229": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        870,
        958
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1230": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        974,
        993
      ],
      "op": "PUSH9",
      "path": "51",
      "value": "0x10000000000000000"
    },
    "1240": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        968,
        970
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1241": {
      "branch": 31,
      "fn": "HomoraMath.sqrt",
      "offset": [
        968,
        993
      ],
      "op": "LT",
      "path": "51"
    },
    "1242": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        964,
        1035
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x4E8"
    },
    "1245": {
      "branch": 31,
      "fn": "HomoraMath.sqrt",
      "offset": [
        964,
        1035
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1246": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1010,
        1012
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 7,
      "value": "0x40"
    },
    "1248": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1003,
        1012
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1249": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1003,
        1012
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1250": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1003,
        1012
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1251": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1003,
        1012
      ],
      "op": "SHR",
      "path": "51"
    },
    "1252": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1003,
        1012
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1253": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1026,
        1028
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 8,
      "value": "0x20"
    },
    "1255": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1020,
        1028
      ],
      "op": "SHL",
      "path": "51"
    },
    "1256": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        964,
        1035
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1257": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1050,
        1061
      ],
      "op": "PUSH5",
      "path": "51",
      "value": "0x100000000"
    },
    "1263": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1044,
        1046
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1264": {
      "branch": 32,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1044,
        1061
      ],
      "op": "LT",
      "path": "51"
    },
    "1265": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1040,
        1103
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x4FF"
    },
    "1268": {
      "branch": 32,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1040,
        1103
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1269": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1078,
        1080
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 9,
      "value": "0x20"
    },
    "1271": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1071,
        1080
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1272": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1071,
        1080
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1273": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1071,
        1080
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1274": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1071,
        1080
      ],
      "op": "SHR",
      "path": "51"
    },
    "1275": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1071,
        1080
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1276": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1094,
        1096
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 10,
      "value": "0x10"
    },
    "1278": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1088,
        1096
      ],
      "op": "SHL",
      "path": "51"
    },
    "1279": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1040,
        1103
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1280": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1118,
        1125
      ],
      "op": "PUSH3",
      "path": "51",
      "value": "0x10000"
    },
    "1284": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1112,
        1114
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1285": {
      "branch": 33,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1112,
        1125
      ],
      "op": "LT",
      "path": "51"
    },
    "1286": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1108,
        1166
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x514"
    },
    "1289": {
      "branch": 33,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1108,
        1166
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1290": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1142,
        1144
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 11,
      "value": "0x10"
    },
    "1292": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1135,
        1144
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1293": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1135,
        1144
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1294": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1135,
        1144
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1295": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1135,
        1144
      ],
      "op": "SHR",
      "path": "51"
    },
    "1296": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1135,
        1144
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1297": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1158,
        1159
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 12,
      "value": "0x8"
    },
    "1299": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1152,
        1159
      ],
      "op": "SHL",
      "path": "51"
    },
    "1300": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1108,
        1166
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1301": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1181,
        1186
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x100"
    },
    "1304": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1175,
        1177
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1305": {
      "branch": 34,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1175,
        1186
      ],
      "op": "LT",
      "path": "51"
    },
    "1306": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1171,
        1226
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x528"
    },
    "1309": {
      "branch": 34,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1171,
        1226
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1310": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1203,
        1204
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 13,
      "value": "0x8"
    },
    "1312": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1196,
        1204
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1313": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1196,
        1204
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1314": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1196,
        1204
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1315": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1196,
        1204
      ],
      "op": "SHR",
      "path": "51"
    },
    "1316": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1196,
        1204
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1317": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1218,
        1219
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 14,
      "value": "0x4"
    },
    "1319": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1212,
        1219
      ],
      "op": "SHL",
      "path": "51"
    },
    "1320": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1171,
        1226
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1321": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1241,
        1245
      ],
      "op": "PUSH1",
      "path": "51",
      "value": "0x10"
    },
    "1323": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1235,
        1237
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1324": {
      "branch": 35,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1235,
        1245
      ],
      "op": "LT",
      "path": "51"
    },
    "1325": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1231,
        1285
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x53B"
    },
    "1328": {
      "branch": 35,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1231,
        1285
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1329": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1262,
        1263
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 15,
      "value": "0x4"
    },
    "1331": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1255,
        1263
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1332": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1255,
        1263
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1333": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1255,
        1263
      ],
      "op": "SWAP2",
      "path": "51"
    },
    "1334": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1255,
        1263
      ],
      "op": "SHR",
      "path": "51"
    },
    "1335": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1255,
        1263
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1336": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1277,
        1278
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 16,
      "value": "0x2"
    },
    "1338": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1271,
        1278
      ],
      "op": "SHL",
      "path": "51"
    },
    "1339": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1231,
        1285
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1340": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1300,
        1303
      ],
      "op": "PUSH1",
      "path": "51",
      "value": "0x8"
    },
    "1342": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1294,
        1296
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1343": {
      "branch": 36,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1294,
        1303
      ],
      "op": "LT",
      "path": "51"
    },
    "1344": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1290,
        1327
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x547"
    },
    "1347": {
      "branch": 36,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1290,
        1327
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1348": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1319,
        1320
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 17,
      "value": "0x1"
    },
    "1350": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1313,
        1320
      ],
      "op": "SHL",
      "path": "51"
    },
    "1351": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1290,
        1327
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1352": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1352,
        1353
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 18,
      "value": "0x1"
    },
    "1354": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1346,
        1347
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1355": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1342,
        1343
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1356": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1342,
        1347
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1357": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1342,
        1347
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x552"
    },
    "1360": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1342,
        1347
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1361": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1342,
        1347
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1362": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1342,
        1347
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1363": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1342,
        1347
      ],
      "op": "DIV",
      "path": "51"
    },
    "1364": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1338,
        1339
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1365": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1338,
        1347
      ],
      "op": "ADD",
      "path": "51"
    },
    "1366": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1337,
        1353
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1367": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1337,
        1353
      ],
      "op": "SHR",
      "path": "51"
    },
    "1368": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1333,
        1353
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1369": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1333,
        1353
      ],
      "op": "POP",
      "path": "51"
    },
    "1370": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1378,
        1379
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 19,
      "value": "0x1"
    },
    "1372": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1372,
        1373
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1373": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1368,
        1369
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1374": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1368,
        1373
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1375": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1368,
        1373
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x564"
    },
    "1378": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1368,
        1373
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1379": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1368,
        1373
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1380": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1368,
        1373
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1381": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1368,
        1373
      ],
      "op": "DIV",
      "path": "51"
    },
    "1382": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1364,
        1365
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1383": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1364,
        1373
      ],
      "op": "ADD",
      "path": "51"
    },
    "1384": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1363,
        1379
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1385": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1363,
        1379
      ],
      "op": "SHR",
      "path": "51"
    },
    "1386": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1359,
        1379
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1387": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1359,
        1379
      ],
      "op": "POP",
      "path": "51"
    },
    "1388": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1404,
        1405
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 20,
      "value": "0x1"
    },
    "1390": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1398,
        1399
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1391": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1394,
        1395
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1392": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1394,
        1399
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1393": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1394,
        1399
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x576"
    },
    "1396": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1394,
        1399
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1397": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1394,
        1399
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1398": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1394,
        1399
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1399": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1394,
        1399
      ],
      "op": "DIV",
      "path": "51"
    },
    "1400": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1390,
        1391
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1401": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1390,
        1399
      ],
      "op": "ADD",
      "path": "51"
    },
    "1402": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1389,
        1405
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1403": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1389,
        1405
      ],
      "op": "SHR",
      "path": "51"
    },
    "1404": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1385,
        1405
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1405": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1385,
        1405
      ],
      "op": "POP",
      "path": "51"
    },
    "1406": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1430,
        1431
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 21,
      "value": "0x1"
    },
    "1408": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1424,
        1425
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1409": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1420,
        1421
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1410": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1420,
        1425
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1411": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1420,
        1425
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x588"
    },
    "1414": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1420,
        1425
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1415": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1420,
        1425
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1416": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1420,
        1425
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1417": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1420,
        1425
      ],
      "op": "DIV",
      "path": "51"
    },
    "1418": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1416,
        1417
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1419": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1416,
        1425
      ],
      "op": "ADD",
      "path": "51"
    },
    "1420": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1415,
        1431
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1421": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1415,
        1431
      ],
      "op": "SHR",
      "path": "51"
    },
    "1422": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1411,
        1431
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1423": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1411,
        1431
      ],
      "op": "POP",
      "path": "51"
    },
    "1424": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1456,
        1457
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 22,
      "value": "0x1"
    },
    "1426": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1450,
        1451
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1427": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1446,
        1447
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1428": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1446,
        1451
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1429": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1446,
        1451
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x59A"
    },
    "1432": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1446,
        1451
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1433": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1446,
        1451
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1434": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1446,
        1451
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1435": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1446,
        1451
      ],
      "op": "DIV",
      "path": "51"
    },
    "1436": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1442,
        1443
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1437": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1442,
        1451
      ],
      "op": "ADD",
      "path": "51"
    },
    "1438": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1441,
        1457
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1439": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1441,
        1457
      ],
      "op": "SHR",
      "path": "51"
    },
    "1440": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1437,
        1457
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1441": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1437,
        1457
      ],
      "op": "POP",
      "path": "51"
    },
    "1442": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1482,
        1483
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 23,
      "value": "0x1"
    },
    "1444": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1476,
        1477
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1445": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1472,
        1473
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1446": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1472,
        1477
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1447": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1472,
        1477
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x5AC"
    },
    "1450": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1472,
        1477
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1451": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1472,
        1477
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1452": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1472,
        1477
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1453": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1472,
        1477
      ],
      "op": "DIV",
      "path": "51"
    },
    "1454": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1468,
        1469
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1455": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1468,
        1477
      ],
      "op": "ADD",
      "path": "51"
    },
    "1456": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1467,
        1483
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1457": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1467,
        1483
      ],
      "op": "SHR",
      "path": "51"
    },
    "1458": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1463,
        1483
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1459": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1463,
        1483
      ],
      "op": "POP",
      "path": "51"
    },
    "1460": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1508,
        1509
      ],
      "op": "PUSH1",
      "path": "51",
      "statement": 24,
      "value": "0x1"
    },
    "1462": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1502,
        1503
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1463": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1498,
        1499
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1464": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1498,
        1503
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1465": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1498,
        1503
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x5BE"
    },
    "1468": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1498,
        1503
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1469": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1498,
        1503
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1470": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1498,
        1503
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1471": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1498,
        1503
      ],
      "op": "DIV",
      "path": "51"
    },
    "1472": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1494,
        1495
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1473": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1494,
        1503
      ],
      "op": "ADD",
      "path": "51"
    },
    "1474": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1493,
        1509
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1475": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1493,
        1509
      ],
      "op": "SHR",
      "path": "51"
    },
    "1476": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1489,
        1509
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1477": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1489,
        1509
      ],
      "op": "POP",
      "path": "51"
    },
    "1478": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1552,
        1559
      ],
      "op": "PUSH1",
      "path": "51",
      "value": "0x0"
    },
    "1480": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1566,
        1567
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1481": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1562,
        1563
      ],
      "op": "DUP6",
      "path": "51"
    },
    "1482": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1562,
        1567
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1483": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1562,
        1567
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x5D0"
    },
    "1486": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1562,
        1567
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1487": {
      "dev": "Division by zero",
      "fn": "HomoraMath.sqrt",
      "offset": [
        1562,
        1567
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1488": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1562,
        1567
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1489": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1562,
        1567
      ],
      "op": "DIV",
      "path": "51"
    },
    "1490": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1552,
        1567
      ],
      "op": "SWAP1",
      "path": "51"
    },
    "1491": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1552,
        1567
      ],
      "op": "POP",
      "path": "51"
    },
    "1492": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1585,
        1587
      ],
      "op": "DUP1",
      "path": "51",
      "statement": 25
    },
    "1493": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1582
      ],
      "op": "DUP3",
      "path": "51"
    },
    "1494": {
      "branch": 37,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1587
      ],
      "op": "LT",
      "path": "51"
    },
    "1495": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1596
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x5E0"
    },
    "1498": {
      "branch": 37,
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1596
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1499": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1594,
        1596
      ],
      "op": "DUP1",
      "path": "51"
    },
    "1500": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1596
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x5E2"
    },
    "1503": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1596
      ],
      "op": "JUMP",
      "path": "51"
    },
    "1504": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1596
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1505": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1590,
        1591
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1506": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1581,
        1596
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1507": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        1573,
        1597
      ],
      "op": "SWAP6",
      "path": "51"
    },
    "1508": {
      "fn": "HomoraMath.sqrt",
      "offset": [
        753,
        1602
      ],
      "op": "SWAP5",
      "path": "51"
    },
    "1509": {
      "op": "POP"
    },
    "1510": {
      "op": "POP"
    },
    "1511": {
      "op": "POP"
    },
    "1512": {
      "op": "POP"
    },
    "1513": {
      "op": "POP"
    },
    "1514": {
      "fn": "HomoraMath.sqrt",
      "jump": "o",
      "offset": [
        753,
        1602
      ],
      "op": "JUMP",
      "path": "51"
    },
    "1515": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        411,
        513
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1516": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        468,
        472
      ],
      "op": "PUSH1",
      "path": "51",
      "value": "0x0"
    },
    "1518": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        505,
        508
      ],
      "op": "DUP2",
      "path": "51",
      "statement": 26
    },
    "1519": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        502
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x5FC"
    },
    "1522": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        490
      ],
      "op": "DUP5",
      "path": "51"
    },
    "1523": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1525": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "1527": {
      "op": "SHL"
    },
    "1528": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        494
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x443"
    },
    "1531": {
      "fn": "HomoraMath.fdiv",
      "jump": "i",
      "offset": [
        487,
        502
      ],
      "op": "JUMP",
      "path": "51"
    },
    "1532": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        502
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1533": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        508
      ],
      "op": "DUP2",
      "path": "51"
    },
    "1534": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        508
      ],
      "op": "PUSH2",
      "path": "51",
      "value": "0x603"
    },
    "1537": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        508
      ],
      "op": "JUMPI",
      "path": "51"
    },
    "1538": {
      "dev": "Division by zero",
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        508
      ],
      "op": "INVALID",
      "path": "51"
    },
    "1539": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        508
      ],
      "op": "JUMPDEST",
      "path": "51"
    },
    "1540": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        508
      ],
      "op": "DIV",
      "path": "51"
    },
    "1541": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        487,
        508
      ],
      "op": "SWAP4",
      "path": "51"
    },
    "1542": {
      "fn": "HomoraMath.fdiv",
      "offset": [
        411,
        513
      ],
      "op": "SWAP3",
      "path": "51"
    },
    "1543": {
      "op": "POP"
    },
    "1544": {
      "op": "POP"
    },
    "1545": {
      "op": "POP"
    },
    "1546": {
      "fn": "HomoraMath.fdiv",
      "jump": "o",
      "offset": [
        411,
        513
      ],
      "op": "JUMP",
      "path": "51"
    },
    "1547": {
      "fn": "SafeMath.div",
      "offset": [
        4217,
        4367
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1548": {
      "fn": "SafeMath.div",
      "offset": [
        4275,
        4282
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "1550": {
      "fn": "SafeMath.div",
      "offset": [
        4306,
        4307
      ],
      "op": "DUP1",
      "path": "4",
      "statement": 27
    },
    "1551": {
      "fn": "SafeMath.div",
      "offset": [
        4302,
        4303
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1552": {
      "branch": 40,
      "fn": "SafeMath.div",
      "offset": [
        4302,
        4307
      ],
      "op": "GT",
      "path": "4"
    },
    "1553": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x661"
    },
    "1556": {
      "branch": 40,
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1557": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1559": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1560": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1561": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1565": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1567": {
      "op": "SHL"
    },
    "1568": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1569": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1570": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "1572": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "1574": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1575": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "1576": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1577": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x1A"
    },
    "1579": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x24"
    },
    "1581": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1582": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "1583": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1584": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH32",
      "path": "4",
      "value": "0x536166654D6174683A206469766973696F6E206279207A65726F000000000000"
    },
    "1617": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x44"
    },
    "1619": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1620": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "1621": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1622": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1623": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1624": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1625": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1626": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1627": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SUB",
      "path": "4"
    },
    "1628": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x64"
    },
    "1630": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "1631": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1632": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "REVERT",
      "path": "4"
    },
    "1633": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1634": {
      "fn": "SafeMath.div",
      "offset": [
        4359,
        4360
      ],
      "op": "DUP2",
      "path": "4",
      "statement": 28
    },
    "1635": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4356
      ],
      "op": "DUP4",
      "path": "4"
    },
    "1636": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1637": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x603"
    },
    "1640": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1641": {
      "dev": "Division by zero",
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "INVALID",
      "path": "4"
    }
  },
  "sha1": "9863d9912a8285fa98748f27259f3b092a1847ed",
  "source": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.6.12;\n\nimport 'OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol';\n\nimport './UsingBaseOracle.sol';\nimport '../utils/HomoraMath.sol';\nimport '../../interfaces/IBaseOracle.sol';\nimport '../../interfaces/IUniswapV2Pair.sol';\n\ncontract UniswapV2Oracle is UsingBaseOracle, IBaseOracle {\n  using SafeMath for uint;\n  using HomoraMath for uint;\n\n  constructor(IBaseOracle _base) public UsingBaseOracle(_base) {}\n\n  /// @dev Return the value of the given input as ETH per unit, multiplied by 2**112.\n  /// @param pair The Uniswap pair to check the value.\n  function getETHPx(address pair) external view override returns (uint) {\n    address token0 = IUniswapV2Pair(pair).token0();\n    address token1 = IUniswapV2Pair(pair).token1();\n    uint totalSupply = IUniswapV2Pair(pair).totalSupply();\n    (uint r0, uint r1, ) = IUniswapV2Pair(pair).getReserves();\n    uint sqrtK = HomoraMath.sqrt(r0.mul(r1)).fdiv(totalSupply); // in 2**112\n    uint px0 = base.getETHPx(token0); // in 2**112\n    uint px1 = base.getETHPx(token1); // in 2**112\n    // fair token0 amt: sqrtK * sqrt(px1/px0)\n    // fair token1 amt: sqrtK * sqrt(px0/px1)\n    // fair lp price = 2 * sqrt(px0 * px1)\n    // split into 2 sqrts multiplication to prevent uint overflow (note the 2**112)\n    return sqrtK.mul(2).mul(HomoraMath.sqrt(px0)).div(2**56).mul(HomoraMath.sqrt(px1)).div(2**56);\n  }\n}\n",
  "sourceMap": "295:1126:38:-:0;;;413:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;413:63:38;235:12:39;;;;-1:-1:-1;;;;;;235:12:39;;;-1:-1:-1;;;;;295:1126:38;;;;;;;;",
  "sourcePath": "contracts/oracle/UniswapV2Oracle.sol",
  "type": "contract"
}